かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

SignalRの.NETクライアントで認証プロキシを突破する方法

追記

初音さんが確認してくれて、IEのプロキシ設定があれば自動でそっちを見てくれるみたいです。 IE側でプロキシ設定されてたら、それを使って接続を試して、それでだめだったら今回紹介した方法で指定した情報を使ってつなぎにいくという動きをするっぽいですね。

本文

転職してから認証プロキシのない世界に来たのですが、前職で認証プロキシ配下でSignalR使うことをちょいちょいやってたのでメモっておきます。 ちなみに、検証環境がすでにないので間違ってるかもしれないのでダメだったら教えてください!!(ついでにOKだった場合も教えてもらえると嬉しい)

SignalRでは、HubConnectionのProxyプロパティにプロキシの情報を設定します。そこにWebProxyを設定してやればOKです。認証プロキシの場合はWebProxyのCredentialsプロパティにNetworkCredentialを指定してやります。

コードはこんな雰囲気になります。

var conn = new HubConnection("server address");
conn.Proxy = new WebProxy("http://example.com:8080")
{
    Credentials = new NetworkCredential("user@example.com", "p@ssw0rd"),
};

それでは、良い認証プロキシライフを!