SignalR没有OWIN
我正在参与ASP MVC项目。SignalR没有OWIN
我想在项目中使用SignalR,但我不想使用OWIN库。
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
}
我怎么能修改此删除依赖于OWIN:
据我了解,SignalR在使用这段代码的应用程序注册的?
我想用类似的方法来RouteConfig.RegisterRoutes(RouteTable.Routes);
如果你不想owin lib中您可以使用SignalR 1.x的
protected void Application_Start()
{
RouteTable.Routes.MapHubs();
}
不幸的是,它也需要Owin: https://github.com/SignalR/SignalR/blob/1.2.2/src/Microsoft.AspNet.SignalR.SystemWeb/SignalRRouteExtensions.cs – nZeus 2014-10-09 09:06:02
我没有owin使用singnalr 1.x。 – 2014-10-10 20:37:43
@Aravind Sivam:我遵循你的建议,使用SignalR 1.2.2而不是2.2,在Mono 4.0.1下运行,但仍然在RouteTable.Routes.MapHubs()函数中得到了“System.InvalidProgramException”。错误详细信息: inline'
首先一定要Get-Package
程序包管理器控制台内,并删除所有以前的文章Uninstall-Package [Id] -RemoveDependencies
因为这应该给你一个干净的石板。
对我来说,没有装配和依赖性问题,我使用NuGet将Microsoft.AspNet.SignalR V1.1.4安装到你的App和DataAccess中。然后添加以下到您的Global.asax文件:
// Add this Library for MapHubs extension
using System.Web.Routing;
protected void Application_Start()
{
// This registers the default hubs route: ~signalr
// Simply add the line below WITHIN this function
RouteTable.Routes.MapHubs();
}
[难道就2015年10月29日此使用视觉工作室2015年企业]
我得到的方法已经过时,并提供https://docs.microsoft.com/en-us/aspnet/signalr/overview/releases/upgrading-signalr-1x-projects-to-20 – 2017-05-10 10:19:57
您可以*组合OWIN基础和“传统” ASP.Net中同一个项目。我想不出为什么你不能把这段代码放进去,并继续为用户提供价值。 – 2014-10-09 08:36:27
如果可能,我不想使用OWIN。我不喜欢应用程序有100500个引用的程序集。目前我不需要OWIN,唯一需要OWIN的库是SignalR。但我知道应该有可能摆脱这种依赖性。 – nZeus 2014-10-09 08:43:48
@Damien_The_Unbeliever:其实有。我现在面临的一个问题是,通过Mono在Linux机器上运行MVC WebApplication(SignalR Server),而Microsoft.Owin.Host.SystemWeb尚未在Mono中完全实现,这是WebApplication(自托管的Owin SignalR Server是确定的,因为它不需要Microsoft.Owin.Host.SystemWeb)。 – brian 2015-05-22 15:23:46