我将 SignalR 1 与带有表单身份验证的 MVC4 C# Web 应用程序一起使用。我的布局页面中有一段 JavaScript 代码:
$(documnet).ready(function(){
connect to hub code ...
})
我想断开用户与集线器的连接,并在他登录并验证成功后再次开始连接。我想从我的帐户控制器和方法中的服务器端执行此操作:
public ActionResult LogOn(LoginModel model, string returnUrl)
{
if (ModelState.IsValid)
{
if (System.Web.Security.Membership.ValidateUser(model.UserName, model.Password))
{
FormsAuthentication.SetAuthCookie(model.UserName, false);
....here , disconnect from hub
....to make the user reconnect
}
我想这样做的原因是,如果用户在登录后更改为经过身份验证并且连接仍然存在,SignalR 会引发错误。错误是:
连接 ID 的格式不正确。