SignalR Invoke() 方法 "Unauthorized" 错误

SignalR Invoke() method "Unauthorized" error

我已将 SignalR 添加到我们现有的 asp.net 网络应用程序中,一切正常。我已将此 Web 应用程序发布到 Azure,但现在我在调用方法时收到未经授权的错误。
我在 Azure 上启用了网络套接字和 ARR 亲和力。 我没有使用授权属性。 我是否需要向我的应用程序添加其他内容来验证 Web 应用程序或用户?

StatusCode:401,ReasonPhrase:'Unauthorized',版本:1.1,内容:System.Net.Http.StreamContent,Headers: { 日期: Set-Cookie:ARRAffinity=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;路径=/;HttpOnly;域=MyAppx.azurewebsites.net WWW-Authenticate: 承载境界="MyAppx.azurewebsites.net" authorization_uri="https://login.windows.net/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/oauth2/authorize" resource_id="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" X-Powered-By: ASP.NET Content-Length: 58 Content-Type: text/html }

由于 asp.net 中对 SignalR 的支持有限,您必须使用一些 .net 核心 libraries.Instead 在集线器连接上使用 invoke() 方法,您可以利用 var context = GlobalHost.ConnectionManager.GetHubContext() 这将消除大量的代码。使用 GlobalHost.ConnectionManager.GetHubContext 也解决了授权问题。