4

SignalRとAsp.netMVCを使用してチャットアプリケーションを作成しました。ユーザーがしばらくアイドル状態の場合、サーバーからメッセージを受信して​​いません。

SignalR持続的接続のタイムアウトはありますか?

はいの場合、接続を変更または再アクティブ化するにはどうすればよいですか?

4

2 に答える 2

9

これは Wiki で更新されましたhttps://github.com/SignalR/SignalR/wiki/Configuring-SignalR

コード

using System;
using SignalR;

namespace WebApplication1
{
    public class Global : System.Web.HttpApplication
    {
        void Application_Start(object sender, EventArgs e)
        {
            // Make connections wait 50s maximum for any response. After
            // 50s are up, trigger a timeout command and make the client reconnect.
            GlobalHost.Configuration.ConnectionTimeout = TimeSpan.FromSeconds(50);
        }
    }
}
于 2012-07-24T13:53:11.253 に答える
6

SignalR の既定のタイムアウトは、どの接続でも 110 秒です。自動的に再接続され、メッセージを見逃すことはありません。それはあなたが何か他の問題を抱えているように聞こえます。このように 0.4 でタイムアウトを微調整したい場合 (asp.net を想定):

// Make idle connections reconnect every 60 seconds
AspNetHost.DependencyResolver.Resolve<IConfigurtionManager>().ReconnectTimeout = TimeSpan.FromSeconds(60);

You add using SignalR.Infrastructure to get the Resolve extension method (次のバージョンで修正されます)。

于 2012-04-12T17:57:14.000 に答える