【发布时间】:2014-08-07 11:03:50
【问题描述】:
我使用 SignalR (v2.1.1.0) 创建了一个新的 MVC5 asp.net 网站 SignalR 部分托管在 Web 应用程序中。
我添加了一个新的集线器:MainHub.cs
using BackEnd.Models;
using BackEnd.Utils;
using Microsoft.AspNet.SignalR;
using Microsoft.Practices.Unity;
namespace BackEnd.Hubs
{
public class MainHub : Hub
{
// Code
}
}
然后我通过右键单击项目添加了一个新的 StartUp 文件 -> 添加新的“OWIN Statup 类”并将其命名为“Startup.cs”:
using Microsoft.Owin;
using Owin;
[assembly: OwinStartup(typeof(BackEnd.Startup))]
namespace BackEnd
{
public class Startup
{
public static Configs.ContainerInjection container;
public void Configuration(IAppBuilder app)
{
container = new Configs.ContainerInjection();
container.Configure();
app.MapSignalR();
}
}
}
这是我的配置文件:Web.config
<appSettings>
<add key="owin:AutomaticAppStartup" value="true" />
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
...
<system.web>
<compilation debug="true" targetFramework="4.5.1" />
<httpRuntime targetFramework="4.5.1" />
</system.web>
但是当我在本地 IIS 上启动应用程序时,启动文件中不会调用“配置”方法。但它在 IIS Express (localhost:3405) 上启动时确实有效
我将“DefaultApp Pool”与 Framework v4.0 和集成管道模式一起使用,并且“Microsoft.Owin.Host.SystemWeb”正确放置在“/bin”文件夹中。
是不是我做错了什么?
【问题讨论】:
标签: asp.net iis signalr startup owin