根据ASP.Net 5路线图,SignalR 3无法进入RTM。 https://github.com/aspnet/Home/wiki/Roadmap
是否可以在vNext项目中使用SignalR 2.2?我该如何致电MapSignalR()
? Startup.cs中的Configure方法有一个IApplicationBuilder,但是想要在IAppBuilder上调用SignalR的扩展方法,是否可能有第二个Startup类?我该如何设置呢?
答案 0 :(得分:4)
从RC1开始,请参阅IAppBuilderBridge sample以使SignalR 2.2在RC1上运行。您只需从该项目中获取KatanaIApplicationBuilderExtensions
类,然后以这种方式将signalR添加到Startup
类:
app.UseAppBuilder(
appBuilder =>
{
appBuilder.MapSignalR();
});
我在UseMvc
之后添加了它。
刚刚在RC1和IIS Express下的一个干净的新MVC项目上测试自己。至少Tutorial样本工作得很好。正如Todd Sprang在评论中指出的那样,它应该可行,因为它不依赖于更高级别的ASP.NET组件。
答案 1 :(得分:0)
只需在App_Start文件夹中创建此类,然后修改即可。
[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);
}
}
}
}