即使页面刷新,我也试图保留我的连接 ID。我在客户端保存了一个 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;
}
(不要介意日期)
我看过很多关于它的帖子,但我不明白有什么区别。