EPiServer 7.5 (MVC4 フレームワーク) の 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
- オーウィン、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 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 から更新されたソリューションではありません。