Authentication 将信号器1.1.2迁移到信号器2.0.0后WebSecurity.CurrentUserId不工作

Authentication 将信号器1.1.2迁移到信号器2.0.0后WebSecurity.CurrentUserId不工作,authentication,asp.net-membership,signalr,signalr-hub,Authentication,Asp.net Membership,Signalr,Signalr Hub,根据这个链接,我将我的signalR版本从1.1.2升级到了signalR 2.0.3,一切正常,但是当我调用服务器中的任何集线器方法时,WebMatrix.WebData.WebSecurity.CurrentUserId有一个空值 这是我的启动文件: using Microsoft.Owin; using Owin; using Microsoft.AspNet.SignalR; [assembly: OwinStartup(typeof(SignalRChat.Startup))] na

根据这个链接,我将我的signalR版本从1.1.2升级到了signalR 2.0.3,一切正常,但是当我调用服务器中的任何集线器方法时,WebMatrix.WebData.WebSecurity.CurrentUserId有一个空值

这是我的启动文件:

using Microsoft.Owin;
using Owin;
using Microsoft.AspNet.SignalR;

[assembly: OwinStartup(typeof(SignalRChat.Startup))]
namespace SignalRChat
{

    public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            app.MapSignalR(new HubConfiguration
                {
                    Resolver = GlobalHost.DependencyResolver
                });
            GlobalHost.HubPipeline.RequireAuthentication();
        }
    }
}
这是我的中心之一:

[Authorize]
    public class MessageConnection : Hub
    {
      ...
      public Task SendMessage(int destinationId, string msg)
        {
            int userId = WebMatrix.WebData.WebSecurity.CurrentUserId; //throwing exception              ...
        }
    }

这段代码在我将SignalR升级到v2.0.3之前就已经运行了,所以我不知道我缺少了什么。

最新的SignalR(>2.0.0)中使用的Owin版本(2.0.0)与Webmatrix.WebData.WebSecurity不兼容。相反,它可以替换为AspNet.Identity。

您能提供您的简单复制应用程序吗?