我在 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
- 微软.OWin, 2.1.0.0
- Microsoft.OWin.Host.SystemWeb,2.1.0.0
- Microsoft.Owin.Security,2.0.0.0
- 欧文,1.0.0.0
启动.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 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 更新的解决方案!