我在EPiServer 7.5(MVC4框架)中遇到了SignalR 2.0的一些問題。我得到的是一個404錯誤使用IIS時SignalR 2.0錯誤/信號/集線器404(未找到)
GET 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
的啓動是在應用程序啓動intitialized這樣,似乎工作。
[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
/// <summary>
/// Configure SignalR
/// </summary>
/// <param name="app"></param>
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
}
}
腳本包含
<script src="/Static/Frameworks/Scripts/jquery-1.10.2.js"></script>
<script src="/Static/Frameworks/Scripts/knockout-3.0.0.js"></script>
<script src="/Static/Frameworks/Scripts/modernizr.2.7.0.js"></script>
<script src="/Static/Frameworks/Scripts/jquery.signalR-2.0.1.js"></script>
<!-- also tried path ~/signalr/hubs -->
<script src="/signalr/hubs"></script>
這是不是從1.x的SignalR更新的解決方案!
@ThiagoCustodio是的,該解決方案能正常工作在IIS Express在Visual Studio中,我可以調試startup.cs以及 –
請檢查SignalR版本以及http://stackoverflow.com/questions/26750727/ signalr-hubs-404-not-found-after-update-to-mvc5/38985725#38985725 – Spirit