SignalR net45在特定用户/机器组合上提供401 Unauthorized

时间:2015-06-24 15:54:20

标签: .net signalr .net-4.5.2

我们最近将WPF应用及其所有NuGet依赖项更新为.NET 4.5.2,并发现一些用户正在从SignalR接收HTTP 401 Unauthorized错误。它通过PrincipalUserIdProvider使用Windows身份验证。

我在连接到SignalR后第一次向SignalR发送了401错误,但是有很多原因导致这是一个奇怪的问题:

  • 当我有Fiddler跑步时它起作用
  • 当我在Citrix上运行应用程序时,它可以正常运行
  • 当我在另一个人的PC上运行应用程序时,它可以正常运行
  • 当我登录其他人的电脑
  • 时,它会起作用
  • 当我运行.NET 4.0上的旧版客户端(仍连接到同一服务器)时,它可以正常工作
  • 它适用于质量保证(但并不是一切?)
  • 当其他人使用我的电脑运行应用程序时,它可以正常工作

问题仅发生在一小部分用户/机器组合中,但对于那些设置,401会在100%的时间内发生。在Win7和Win8.1客户端上都会发生。服务器没有安装websockets。

关于可能出现什么问题的任何建议?

1 个答案:

答案 0 :(得分:0)

我不知道为什么,但引用SignalR客户端dll的net40副本而不是net45副本可以解决问题。

我删除了对Microsoft.AspNet.SignalR.Client.dll的引用,并使用我的NuGet包文件夹中的net40 dll读取了引用:Microsoft.AspNet.SignalR.Client.2.2.0 \ lib \ net40 \ Microsoft.AspNet .SignalR.Client.dll