1

我有一个从 mvc4 c# razor 引擎构建的项目。我添加了最新的 signalr nuget 包 1.0.1 我的项目使用表单身份验证。每次客户端从登录到注销时,反之亦然,我在客户端上收到一个错误:

> "NetworkError: 500 Internal Server Error -
> http://myhost:51090/signalr/abort?transport=serverSentEvents&connectionToken=uIJvYLP3T0GdHaowIlS4uPDA19ukUy7TaW8dcXoPfma4Mr52uoe7PLK9Hh3ip17X_3RbFXx92yEa7nxYVHaCiRAWVE5e05vvpLD0_blb94eUwdkXbmhkRPM2_Z590A64VBF2-eLB_8wCWq-dmkkkbe6EqP6c9YXN3WRF5IyNYkB6Wkom7O1ZoDavQQ0UWvok0"

在服务器端:

 The connection id is in the incorrect format.

我是否需要考虑以不同的方式(来自https://github.com/SignalR/SignalR/wiki/QuickStart-Hubs)使用信号器,然后使用身份验证?

4

1 回答 1

1

当您有一个活动的 SignalR 连接时,您似乎正在注销(修改您的用户)。

发生这种情况的原因是因为在服务器上的中止请求中,我们检查 connectionId 是否与正确的用户相关联。因此,在连接仍处于活动状态时注销会导致您失去用户关联并导致错误。

要解决此问题,请在注销之前停止 SignalR 连接。

于 2013-03-11T22:23:03.783 回答