用SignalR进行交互时,重新打开一个新的页码会出发 OnDisconnected这个事件。触发事件时我想获取登陆用户名。网上搜了好多是用
Context.User.Identity.Name;这个来获取登陆的用户名。但是我调试的发现这个值为空。
这个应该在哪里取设置呢?
public override System.Threading.Tasks.Task OnDisconnected()
{
var us = Context.User.Identity.Name;//取的为空
return base.OnDisconnected();
}
启用 FormsAuthentication。
FormsAuthentication.SetAuthCookie(username, true)//是这段代码吗?我加了 看还是空
@HJ_pror: 你的网站启用认证了吗?
@Launcher: 恩 再web.config文件都配值了的
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
@HJ_pror: 你看看你的 Context.User.Identity 的类型是啥?
$(function () {
setScreen(true);
// Declare a proxy to reference the hub.
var chatHub = $.connection.chatHub;
registerClientMethods(chatHub);
// Start Hub
$.connection.hub.start().done(function () {
chatHub.server.connect(@User.Identity.Name);
@{Session["uid"] = User.Identity.Name;}
registerEvents(chatHub)
});
});
要在前台页面写