[英]OwinStartup and startup in signalr in asp.net mvc
我在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();
}
}
}
但我得到错误:
尝试加载应用程序时发生以下错误。 - 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启动类检测正在查找您提供的类型( Paksh.Startup
)上名为ProductionConfiguration
的方法,但无法找到它。 有些东西告诉我你的web.config中也有类似的东西:
<appSettings>
<add key="owin:appStartup" value="ProductionConfiguration" />
</appSettings>
您有几种方法可以解决此问题:
ConfigureSignalR
方法的名称更改为ProductionConfiguration
OwinStartupAttribute
指定正确的方法名称: [assembly: OwinStartup(typeof(Paksh.Startup), "ConfigureSignalR")]
要了解OWIN启动类检测,请在此处阅读更多内容。
我有一个与OP类似的错误,但使用属性而不是web.config
。 我有:
[assembly: OwinStartup("Configuration", typeof(StartUp))]
namespace WebPipes
{
public class StartUp
{
public void Configuration(IAppBuilder app)
{
GlobalConfiguration.Configuration.UseSqlServerStorage("HangfireDB");
app.UseHangfireServer();
app.UseHangfireDashboard();
}
}
}
OwinStartup
中的参数不正确,第一个参数表示友好名称 ,而不是方法名称。 但是,以下代码确实有效:
[assembly: OwinStartup(typeof(StartUp), "Configuration")]
namespace WebPipes
{
public class StartUp
{
public void Configuration(IAppBuilder app)
{
GlobalConfiguration.Configuration.UseSqlServerStorage("HangfireDB");
app.UseHangfireServer();
app.UseHangfireDashboard();
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.