我已经将SignalR添加到我们现有的asp.net Web应用程序中,并且一切正常。我已将此Web应用程序发布到Azure,现在在invoke方法上出现未经授权的错误。
我已经在Azure上启用了Web套接字和ARR关联。
我没有使用Authorize属性。
我是否需要向应用程序中添加其他内容以对Web应用程序或用户进行身份验证?
状态码:401,原因短语:“未经授权”,版本:1.1,内容:System.Net.Http.StreamContent,标头: { 日期: 设置Cookie:ARRAffinity = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; Path = /; HttpOnly; Domain = MyAppx.azurewebsites.net WWW验证:Bearer realm =“ MyAppx.azurewebsites.net” authorization_uri =“ https://login.windows.net/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/oauth2/authorize” resource_id =“ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx” X-Powered-by:ASP.NET 内容长度:58 内容类型:text / html }
答案 0 :(得分:0)
由于对asp.net中SignalR的支持是有限的,因此必须使用某些.net核心库。可以在var context = GlobalHost.ConnectionManager.GetHubContext中使用,而不是在集线器连接上使用invoke()方法()将消除大量的代码。使用GlobalHost.ConnectionManager.GetHubContext也可以解决授权问题。