2013-07-12 55 views
7

我决定转移到最新版本的signalr,但我面临一些问题。首先注册路线的方式已经完全改变;所以我试图按照这个链接http://www.asp.net/vnext/overview/latest/release-notes#TOC13的建议。无法在SignalR 2.0.0中注册路由

的问题是,虽然我加

<appSettings> 
    <add key="owin:AppStartup" value="xxx.Startup, App_Code"/> 
</appSettings> 

在web.config中的Configuration根本没有被调用。有谁知道我做错了什么?

+0

您需要显示更多代码。 – davidfowl

回答

0

这是一个性质么?如果这是一个网站,网站的程序集就会动态生成,所以你不能像这样弄清楚你的启动类的完全限定名。请尝试在代码中添加程序集级别属性,并查看是否调用了Startup.Configuration。

[汇编:OwinStartup(typeof(Startup))]

+0

OwinStartup在测试版2中不存在 – Softlion

5

解决方案!

<appSettings> 
    <add key="owin:AppStartup" value="MyNameSpace.Startup, MyNameSpace" /> 
    <add key="owin:AutomaticAppStartup" value="true" /> 
</appSettings> 

<system.web> 
<httpHandlers> 
    <add verb="*" path="*" type="Microsoft.Owin.Host.SystemWeb.OwinHttpHandler, Microsoft.Owin.Host.SystemWeb"/> 
</httpHandlers> 
</system.web> 

<system.webServer> 
<handlers> 
    <add name="Owin" verb="*" path="*" type="Microsoft.Owin.Host.SystemWeb.OwinHttpHandler, Microsoft.Owin.Host.SystemWeb"/> 
</handlers> 
</system.webServer> 
2

我能够

  • 删除所有引用到旧版本SignalR的拿到2.0测试版的工作,即的NuGet库和双重检查/ bin中的卸载

  • 通过软件包管理器控制台安装SignalR 2.0.0-beta2 Install-Package Microsoft.AspNet.SignalR -Pre

  • 按照1.x到2.0的步骤迁移ou在操作系统中进行粗调link

  • 最重要的是将项目配置更改为使用本地IIS Web服务器而不是Visual Studio Developer Server(Cassini)。

在提问/回答更多的信息,我贴here

1

对我来说,答案是,这个DLL失踪:

Microsoft.Owin.Host.SystemWeb.dll 

它是由我的构建过程中忽略的。看起来它需要存在于Asp.Net站点的bin文件夹中,用于调用Configuration方法。

0

默认情况下,它将搜索名为Startup的文件;所以我唯一需要做的就是在Assembly-name.Startup命名空间下创建一个Startup类。

命名空间应该遵循上面的模式,以便可以找到启动类