我在asp.net mvc中遇到SignalR问题我在下面添加了一个包:

并添加Startup.cs
using Microsoft.Owin;
using Owin;
[assembly: OwinStartup(typeof(Paksh.Startup))]
namespace Paksh
{
public class Startup
{
public static void ConfigureSignalR(IAppBuilder app)
{
app.MapSignalR();
}
}
}
Run Code Online (Sandbox Code Playgroud)
但我得到错误:
尝试加载应用程序时发生以下错误. - OwinStartupAttribute.FriendlyName值''与Assembly'Paksh,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'中的给定值'ProductionConfiguration'不匹配. - 找不到给定的类型或方法'ProductionConfiguration'.尝试指定程序集.要禁用OWIN启动发现,请在web.config中添加值为"false"的appSetting owin:AutomaticAppStartup.要指定OWIN启动程序集,类或方法,请在web.config中添加appSetting owin:AppStartup以及完全限定的启动类或配置方法名称.
错误清楚地表明了这一点
找不到给定的[']方法'ProductionConfiguration'.
这意味着OWIN启动类检测正在寻找一个ProductionConfiguration在您提供的类型(Paksh.Startup)上调用的方法,但无法找到它.有些东西告诉我你的web.config中也有类似的东西:
<appSettings>
<add key="owin:appStartup" value="ProductionConfiguration" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)
您有几种方法可以解决此问题:
ConfigureSignalR方法的名称更改为ProductionConfigurationOwinStartupAttribute:中指定正确的方法名称:[assembly: OwinStartup(typeof(Paksh.Startup), "ConfigureSignalR")]要了解OWIN启动类检测,请在此处阅读更多内容.