3

クライアントからの呼び出しを受け入れ、データベースを更新し、すべてのクライアントに通知を送信する基本的なシグナル ハブを作成しました。

public class ElementHub : Hub
{
    public void RenameElement(Guid elementId, string elementName)
    {
        //save details of rename

        //notify clients
        Clients.elementRenamed(elementId, elementName, DateTime.Now);
    }
}

これは私の開発マシンでは完全に機能します - すべての更新は瞬時に (ほぼ十分に) 行われますが、これを Windows Azure Web サイトに公開すると、奇妙な動作が見られるようになります。

公開後、ハブを通過する最初の通知は依然としてほぼ瞬時に行われます。おそらく数秒の遅延です。ただし、2 番目の通知は 30 秒ほど遅れることがあります。

サーバーのタイムスタンプを通知に含めたので、サーバーが十分に迅速に応答していることを確認できます。問題はおそらくトランスポートのどこかにあります。

私は信号機を初めて使用するので、どこを見ればよいかさえわかりません。この動作の原因やデバッグ方法を提案できる人はいますか?

4

1 に答える 1

6

現在、バッファリングと Azure Web サイトにバグがあります。 http://github.com/SignalR/SignalR/issues/510を参照してください。これは、longpolling を使用して回避できます。その間、私たちはこれに取り組んでいます。

于 2012-08-03T23:44:00.587 に答える