C# SignalR 클라이언트가 있고 서버 연결 성공/실패시 일부 작업을 수행하고 싶습니다. 여기 내 코드입니다 :SignalR Start()의 작업이 연결이 불가능한 경우에도 계속됩니다.
this.connection.Start().ContinueWith(task =>
{
if (task.IsFaulted)
{
this.OnRaiseServerConnectionClosedEvent();
}
else
{
this.JoinGroup();
this.StopTimer();
this.OnRaiseServerConnectionOpenedEvent();
}
});
}
이 다른 블록은 서버가 여기인지 아닌지 항상 ... 쓰지 않는, 실행
나는 또한 await를하거나 대기()하지만 같은 시나리오를 시도했다.
나는 .net 작업을 올바르게 이해하지만 여기서는 고생하고있다.
당신은 도움이 크게 감사합니다 :)
얀
을편집 :
는 지금 내 코드는
try
{
this.connection.Start().Wait();
if (this.connection.State == ConnectionState.Connected)
{
this.JoinGroup();
this.StopTimer();
this.OnRaiseServerConnectionOpenedEvent();
}
}
catch (AggregateException)
{
this.OnRaiseServerConnectionClosedEvent();
}
catch (InvalidOperationException)
{
this.OnRaiseServerConnectionClosedEvent();
}
에는 서버가 존재하지
같은 작업을 만든 보인다 Start() 메서드는 오류없이 상태 연결로 반환됩니다. 몇 가지 조치를 수행하거나 연결을 다시 시도하려면 연결 상태를 확인해야합니다.
실행중인 SignalR 서버 및 .Net 클라이언트의 버전은 무엇입니까? – halter73
죄송합니다. 언급해야합니다. 서버와 클라이언트는 v2.0에 있습니다. –