Asp.net mvc 信号器调用()方法";“未经授权”;错误

Asp.net mvc 信号器调用()方法";“未经授权”;错误,asp.net-mvc,signalr,signalr-hub,signalr.client,Asp.net Mvc,Signalr,Signalr Hub,Signalr.client,我已经将SignalR添加到我们现有的asp.net web应用程序中,一切正常。我已将此web应用程序发布到Azure,现在在invoke方法上出现未经授权的错误。 我已经在Azure上启用了web套接字和ARR关联。 我没有使用Authorize属性。 我是否需要向我的应用程序中添加其他内容来验证web应用程序或用户 状态代码:401,原因短语:“未经授权”,版本:1.1,内容:System.Net.Http.StreamContent,标题: { 日期: 设置Cookie:ARRAffin

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

状态代码:401,原因短语:“未经授权”,版本:1.1,内容:System.Net.Http.StreamContent,标题: { 日期: 设置Cookie:ARRAffinity=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;Path=/;HttpOnly;Domain=MyAppx.azurewebsites.net WWW-Authenticate:Bearer-realm=“MyAppx.azurewebsites.net”授权\u uri=”https://login.windows.net/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/oauth2/authorize“资源\u id=“xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx” X-Powered-By:ASP.NET 内容长度:58 内容类型:text/html
}

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

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

我已将此添加到启动方法GlobalHost.HubPipeline.RequireAuthentication()中,并将其添加到我的集线器连接连接中。Credentials=CredentialCache.DefaultCredentials。仍然出现相同的错误。我已将此添加到我的启动方法GlobalHost.HubPipeline.RequireAuthentication(),并将其添加到我的集线器连接。Credentials=CredentialCache.DefaultCredentials。仍然得到相同的错误。