9

とにかく、SignalR ハブ、具体的にはOnConnectedメソッド内から Cookie を設定できますか。セッションID付きのCookieを送信したい。

これを試してみましたが、うまくいかなかったようです。また、文字列と Cookie のキーと値のペアを提供する必要がある理由がわからないため、ぎこちなく見えます。

public override Task OnConnected()
{
    var guid = new Guid();
    Context.RequestCookies.Add("SessionID", new Microsoft.AspNet.SignalR.Cookie("SessionID", guid.ToString()));
    return null;
}
4

5 に答える 5

3

最終的に、サービング MVC コントローラーから Cookie を設定することにしましたが、SignalR 呼び出しでこれを設定する方法が見つかりませんでした。

于 2013-03-19T17:37:27.040 に答える
0

サーバーのオプションを増やすために、ハブの代わりに PersistentConnection をサブクラス化して使用することにしました。

私の場合、OnConnectedAsync をオーバーライドし、そこにある connectionId を使用して接続/セッションを追跡します。たぶん、このアプローチを検討できますか?

protected override Task OnConnectedAsync(IRequest request, string connectionId)
    {
于 2013-02-27T13:54:20.323 に答える
-3

私はちょうど同じことを試しましたが、これはうまくいくようです:

HttpContext.Current.Response.Cookies.Add(cookie);
于 2013-04-05T07:29:49.897 に答える