かずきのBlog@hatena

日本マイクロソフトに勤めています。このブログは個人ブログなので、ここに書いている内容は個人的な意見で会社の公式見解ではない点にご注意ください。好きなものは XAML と C# 。苦手なものは型の無い言語です。

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"),
};

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