私はSignalRを使用しており、OnConnectedメソッドを上書きしたハブを持っています。理由は、サーバーが60秒ごとにデータを公開するためです。しかし、新しいクライアントが接続するとすぐにデータを公開したいと考えています。SignalR OnConnectedが呼び出されていない、.NETクライアントから接続する
簡略化した形で:
public class CustomerPublisher : Hub
{
public void Publish(Customer customer)
{
Clients.All.receive(customer);
}
public override Task OnConnected()
{
return base.OnConnected();
}
}
OnConnected方法は、(私がデバッグによってテスト)と呼ばれることはありません。の上に、しかし、私はWPFのクライアントを持っているので、.NETで、私はこれを追加しようとした
$.connection.onlineHub.client.connected = function(){...}
:私は、クライアントは次のように、接続ハンドラを持っている必要があるといくつかの場所(hereのような)で読みました私がすでに扱っていたイベント:
hubProxy.On<object>("receive", OnCustomerReceived); // this line was already present
hubProxy.On<object>("connected", OnConnected); // I added this
これは役に立たなかった。しかし、私は接続している、いくつかの時間の後、私はデータを受信し始めます。
紛失しているものはありますか? .NETクライアントの接続時にOnConnectedメソッドを呼び出すには、どうすればSignalRを呼び出すことができますか?
Peterこの他の質問はあなたの問題とは関係ありません(クライアント側ではサーバー側で通知しようとしています)。接続が必要です。 OnReconnected OnDisconnectedも追加して再度デバッグできますか?また、CustomerPublisherハブに接続したコードを表示することもできます。 –
OnReconnectedとOnDisconnectedはどちらも呼び出されません。私はAutofacを使用しているという事実に起因しているはずだと思っています。私はドキュメントのようにそれをやっていません。私は自分のコードを書き直して、Autofacをドキュメントのように使用し、それが何を提供しているかを見ていきます。私ははっきりとつながっているので、私はそれが奇妙に感じます。 – Peter