クライアントからの呼び出しを受け入れ、データベースを更新し、すべてのクライアントに通知を送信する基本的なシグナル ハブを作成しました。
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 秒ほど遅れることがあります。
サーバーのタイムスタンプを通知に含めたので、サーバーが十分に迅速に応答していることを確認できます。問題はおそらくトランスポートのどこかにあります。
私は信号機を初めて使用するので、どこを見ればよいかさえわかりません。この動作の原因やデバッグ方法を提案できる人はいますか?