我可以在 ASP5 vNext (beta8) 应用程序中使用 SignalR 2.2 吗?

Can I use SignalR 2.2 in an ASP5 vNext (beta8) application?

根据 ASP.Net 5 路线图,SignalR 3 不会进入 RTM。 https://github.com/aspnet/Home/wiki/Roadmap

是否可以在 vNext 项目中使用 SignalR 2.2?如何调用 MapSignalR()? Startup.cs中的Configure方法有一个IApplicationBuilder,但是SignalR的扩展方法想在IAppBuilder上调用,是否可以有第二个Startupclass?我将如何设置它?

只需在您的 App_Start 文件夹中创建此 class,然后根据需要进行修改。

[assembly: OwinStartup(typeof(SignalRStartup))]

namespace Comp.Prod.Web
{
    public class SignalRStartup
    {
        public void Configuration(IAppBuilder app)
        {
            try
            {
                var hubConfig = new HubConfiguration
                {
#if DEBUG
                    EnableDetailedErrors = true
#else
                EnableDetailedErrors = false
#endif
                };

                GlobalHost.DependencyResolver.UseSqlServer(Settings.Default.BackplaneConnectionString);

                app.MapSignalR(hubConfig);

                GlobalHost.HubPipeline.RequireAuthentication();
            }
            catch (Exception e)
            {
                Debug.WriteLine("Following exception thrown from SignalRStartup:");
                Debug.WriteLine(e);
            }
        }
    }
}

从 RC1 开始,请参阅 IAppBuilderBridge sample 以使 SignalR 2.2 在 RC1 上运行。您只需从该项目中获取 KatanaIApplicationBuilderExtensions class,然后以这种方式将 signalR 添加到 Startup class:

app.UseAppBuilder(
  appBuilder =>
  {
      appBuilder.MapSignalR();
  });

我在UseMvc之后添加的。

刚刚在 RC1 和 IIS Express 下的全新 MVC 项目上测试了自己。至少 Tutorial 样本工作得很好。正如 Todd Sprang 在评论中指出的那样,它应该可以工作,因为它不太依赖更高级别的 ASP.NET 组件。

另见 this blog post