HttpWebRequest#GetRequestStreamで初回必ず例外(その2)

結局、IPv6の接続時に例外が発生するのは避けられていない。

Uri uri = new Uri("http://hoge");
HttpWebRequest httpRequest = (HttpWebRequest)HttpWebRequest.Create(uri);
httpRequest.ServicePoint.BindIPEndPointDelegate =
    delegate(ServicePoint servicePoint, IPEndPoint remoteEndPoint, int retryCount)
    {
        IPHostEntry entry = Dns.GetHostByName(uri.Host);
        return new IPEndPoint(entry.AddressList[0], uri.Port);
    };

等と、強制的にIPEndPointを戻せば良いと思ったのだが、そもそも使い方が違うようだ。