如何在 ASP MVC 中使用 Global.asax 而不是 Startup.cs 配置 SignalR?
How to configure SignalR with Global.asax instead of Startup.cs in ASP MVC?
SignalR 需要 Owin 启动 Class,但我的应用程序适用于 Global.asax class。
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
}
如果我添加启动 class,我的 asp MVC 项目将有两个启动 classes(全局和启动),可以吗?或者我应该只应用其中一个并将我的全局 class 移动到启动 class?
您可以标记程序集中的哪个 class 将在启动时被 Owin
自动使用。
在我的示例中,我在 Startup
中声明它并使用 OwinStartup
指向它
例如
using Microsoft.AspNet.SignalR;
using Microsoft.Owin;
using System.Net;
[assembly: OwinStartup(typeof(YourProject.Startup))]
namespace YourProject
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
var hubConfiguration = new HubConfiguration
{
EnableDetailedErrors = true
};
app.MapSignalR(hubConfiguration);
}
}
}
如果您使用 Owin
,则必须使用 Startup
class 而不是 Global.asax
。
SignalR 需要 Owin 启动 Class,但我的应用程序适用于 Global.asax class。
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
}
如果我添加启动 class,我的 asp MVC 项目将有两个启动 classes(全局和启动),可以吗?或者我应该只应用其中一个并将我的全局 class 移动到启动 class?
您可以标记程序集中的哪个 class 将在启动时被 Owin
自动使用。
在我的示例中,我在 Startup
中声明它并使用 OwinStartup
指向它
例如
using Microsoft.AspNet.SignalR;
using Microsoft.Owin;
using System.Net;
[assembly: OwinStartup(typeof(YourProject.Startup))]
namespace YourProject
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
var hubConfiguration = new HubConfiguration
{
EnableDetailedErrors = true
};
app.MapSignalR(hubConfiguration);
}
}
}
如果您使用 Owin
,则必须使用 Startup
class 而不是 Global.asax
。