SignalR を使用して JqGrid に最新のデータ セットを表示する Web ページがあります。データが変更されるたびに、接続されているすべてのクライアントが更新されたデータで jQGrid をリロードします。
すべて正常に動作していますが、ページがしばらくすると、つまり 1 分ほどでデータの更新が停止することに気付きました。ブラウザのステータスバーは非常に速く、ほぼ毎秒実行され続けます。F5 を実行してページを更新すると、グリッドはデータの更新を開始しますが、しばらくすると停止します。
さらに、ReconnectionTimeout パラメータに設定している値に関係なく、グリッドがその時間だけデータを更新してから停止することに気付きました。
ReconnctionTimeOut 私は次のように設定しています:
var config = AspNetHost.DependencyResolver.Resolve<IConfigurationManager>();
config.ReconnectionTimeout = TimeSpan.FromSeconds(60);
この場合、私のページはわずか 60 秒間データを更新してから停止します。ページを永遠に更新し続けると仮定して 0 に設定しようとしましたが、その場合、グリッドの更新はすぐに終了します。私は IE8 ブラウザを使用しています。これを永久に実行する方法を教えてください。
フィドラーからのスタック トレース -- エラーはこのリクエストから始まります
GET http://localhost.:2629/AlarmPoc/signalr?transport=foreverFrame&connectionId=600dda9b-225f-42ef-a8f3-79008bf6faaf&connectionData=%5B%7B%22name%22%3A%22YW.AlarmPoC.Web.SignalR.AlarmHub%22%2C%22methods%22%3A%5B%22notification%22%5D%7D%5D&messageId=2&frameId=1
302 Found to /AlarmPoc/signalr/
上記リクエストに対するレスポンス
HTTP/1.1 302 Found
Server: ASP.NET Development Server/10.0.0.0
Date: Mon, 30 Apr 2012 13:05:00 GMT
Content-Length: 135
Location: /AlarmPoc/signalr/
Connection: Close
<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href='/AlarmPoc/signalr/'>here</a>.</h2>
</body></html>
次のリクエスト
GET http://localhost.:2629/AlarmPoc/signalr/
500 Internal Server Error (text/html)
応答
HTTP/1.1 500 Internal Server Error
Server: ASP.NET Development Server/10.0.0.0
Date: Mon, 30 Apr 2012 13:05:00 GMT
X-AspNet-Version: 4.0.30319
Cache-Control: private
Content-Type: text/html; charset=utf-8
Connection: Close
<html>
<head>
<title>Unknown transport.</title>
<style>
body {font-family:"Verdana";font-weight:normal;font-size: .7em;color:black;}
p {font-family:"Verdana";font-weight:normal;color:black;margin-top: -5px}
b {font-family:"Verdana";font-weight:bold;color:black;margin-top: -5px}
H1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
H2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
pre {font-family:"Lucida Console";font-size: .9em}
.marker {font-weight: bold; color: black;text-decoration: none;}
.version {color: gray;}
.error {margin-bottom: 10px;}
.expandable { text-decoration:underline; font-weight:bold; color:navy; cursor:hand; }
</style>
</head>
<body bgcolor="white">
<span><H1>Server Error in '/AlarmPoc' Application.<hr width=100% size=1 color=silver></H1>
<h2> <i>Unknown transport.</i> </h2></span>
<font face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif ">
<b> Description: </b>An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
<br><br>
<b> Exception Details: </b>System.InvalidOperationException: Unknown transport.<br><br>
<b>Source Error:</b> <br><br>
<table width=100% bgcolor="#ffffcc">
<tr>
<td>
<code>
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.</code>
</td>
</tr>
</table>
<br>
<b>Stack Trace:</b> <br><br>
<table width=100% bgcolor="#ffffcc">
<tr>
<td>
<code><pre>
[InvalidOperationException: Unknown transport.]
SignalR.PersistentConnection.ProcessRequestAsync(HostContext context) +329
SignalR.Hubs.HubDispatcher.ProcessRequestAsync(HostContext context) +203
SignalR.Hosting.AspNet.AspNetHost.ProcessRequestAsync(HttpContextBase context) +433
SignalR.Hosting.AspNet.HttpTaskAsyncHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) +125
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +8967220
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +184
</pre></code>
</td>
</tr>
</table>
<br>
<hr width=100% size=1 color=silver>
<b>Version Information:</b> Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.272
</font>
</body>
</html>
<!--
[InvalidOperationException]: Unknown transport.
at SignalR.PersistentConnection.ProcessRequestAsync(HostContext context)
at SignalR.Hubs.HubDispatcher.ProcessRequestAsync(HostContext context)
at SignalR.Hosting.AspNet.AspNetHost.ProcessRequestAsync(HttpContextBase context)
at SignalR.Hosting.AspNet.HttpTaskAsyncHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
-->