ページが更新されても接続IDを保持しようとしています。クライアント側でCookieを保存しましたが、Cookieを取得しようとすると、request.Cookies.Countが0になります。
これはインターフェースの実装です:
public class ConnectionFactory : IConnectionIdPrefixGenerator
{
public string GenerateConnectionIdPrefix(IRequest request)
{
if (request.Cookies["signalrconnid"] != null)
{
return request.Cookies["signalrconnid"].Value;
}
return Guid.NewGuid().ToString();
}
}
これは、Start()関数から呼び出されます。
GlobalHost.DependencyResolver.Register(typeof(IConnectionIdPrefixGenerator), () => new ConnectionFactory());
そしてこれはクライアント側です:
function setCookie(cName, value, exdays) {
var exdate = new Date(2013,1,1,0,0,0,0);
var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString ());
document.cookie = cName + "=" + c_value;
}
(日付は気にしないでください)
私はそれについてかなりの数の投稿を見ました、しかし私は違いが何であるかわかりません。