У меня возникают некоторые проблемы с SignalR 2.0 в EPiServer 7.5 (структура MVC4). Все, что я получаю, это ошибка 404
GET http://web.com/signalr/hubs 404 (не найдено)
Я размещаю все на сервере Windows 2012 R2. Также следует отметить, что решение работает при запуске всего в IIS Express из Visual Studio, но не в 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
/// <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 включение
<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!