我可以在 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。
根据 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。