无法为SignalR HubConnection设置代理

时间:2014-02-04 19:57:52

标签: signalr signalr.client

使用2.0版Asp.NET SignalR,我们创建了一个原型应用程序,它具有WPF客户端应用程序和配置了SignalR的网站。当在本地开发人员计算机上运行以及将网站部署到内部开发服务器时,此原型可正常工作。

将网站部署到外部服务器后遇到的问题;调用HubConnection.Start方法时遇到以下异常:

HttpClientException
A first chance exception of type 'Microsoft.AspNet.SignalR.Client.HttpClientException' occurred in mscorlib.dll
Additional information: StatusCode: 407, ReasonPhrase: 'Proxy Authentication Required ( Forefront TMG requires authorization to fulfill the request. Access to the Web Proxy filter is denied…

开发人员计算机所在的网络需要使用代理才能访问Internet。具有SignalR组件的网站也有一些WCF端点;当在代码中设置代理时,可以将这些连接到使用WPF客户端应用程序中的HttpClient。在HubConnection上完成了设置代理的相同方法,但遇到了错误。

以下是代理如何设置为HubConnection的代码;访问其他非信号R端点时,相同的凭据有效:

var proxyInfo = new WebProxy(new Uri(“theAddress”));

proxyInfo.Credentials = new NetworkCredential(“theUserName”, “thePassword”, “theDomain”);

hubConnection.Proxy = proxyInfo;

是否还需要使用HubConnection设置其他内容才能使用代理?

谢谢, 斯科特

1 个答案:

答案 0 :(得分:1)

问题是用于SignalR的4.5 .NET客户端存在错误;代理信息不与HubConnection中的请求一起发送。这是1.0版本的回归。

以下链接包含以下信息:

https://github.com/SignalR/SignalR/issues/2856