我在EPiServer 7.5(MVC4框架)中遇到了一些SignalR 2.0的问题.我得到的只是404错误
获取http://web.com/signalr/hubs 404(未找到)
我在Windows 2012 R2服务器上托管所有内容.另外值得注意的是,当从Visual Studio中运行IIS Express中的所有内容时,该解决方案仍然有效,但在IIS 8.5中则无法运行.
到目前为止我所做的是添加SingalR参考.
Microsoft.AspNet.SignalR.Client,2.0.0.0
Microsoft.AspNet.SignalR.Core,2.0.0.0
Microsoft.AspNet.SignalR.System.Web,2.0.0.0
Microsoft.OWin,2.1.0.0
Microsoft.OWin.Host.SystemWeb,2.1.0.0
Microsoft.Owin.Security,2.0.0.0
Owin,1.0.0.0
Startup.cs
启动是在应用程序启动时初始化的,所以似乎工作.
[assembly: OwinStartup(typeof(Web.Startup))] namespace Web { public class Startup { #region Local variables private static readonly ILog Logger = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); #endregion #region Methods ////// Configure SignalR /// /// public void Configuration(IAppBuilder app) { try { Logger.MethodCallEntry(); // Any connection or hub wire up and configuration should go here //app.MapSignalR(); // Doesn't work either var hubConfiguration = new HubConfiguration { EnableDetailedErrors = true, EnableJavaScriptProxies = false }; app.MapSignalR("/signalr", hubConfiguration); } catch (Exception ex) { Logger.Error("Failed to initialize or map SignalR", ex); } finally { Logger.MethodCallExit(); } } #endregion } }
脚本包含
这不是从1.x SignalR更新的解决方案!
我刚刚遇到类似的问题,让"MoveShape"演示在新建的Win 2012R2服务器上运行.我通过添加角色/功能解决了这个问题:"Web服务器(IIS)" - >"应用程序开发"并选择".NET可扩展性4.5","ASP.NET 4.5","ISAPI扩展","ISAPI过滤器"和"WebSocket协议".
一旦我重新启动系统或IIS,演示开始工作.
该错误与本文中的错误完全相同 http://blogs.msdn.com/b/praburaj/archive/2013/12/02/owin-startup-class-not-detected.aspx
解决方案是完全清空asp.net缓存
在PowerShell中运行它
net stop w3svc Remove-Item -Path "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\*" -Force -Recurse Remove-Item -Path "C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\*" -Force -Recurse net start w3svc
只想把我的2美分投入.我有这个错误,结果是因为我有
<add key="owin:AutomaticAppStartup" value="false" />
在我的web.config中.删除这一行修复了一切为我!