문제

결과를 캐스팅할 수 있는지 궁금합니다.var hub = GlobalHost.ConnectionManager.GetHubContext<ChatHub>();내 실제 ChatHub 수업에.왜냐하면 GlobalHost.ConnectionManager.GetHubContext<ChatHub>() as ChatHub 실패하다

내 ChatHub 클래스에는 UpdateTime() 메서드가 있습니다.

public void SendTimeUpdate(DateTime time, string auth)
{
    Clients.All.UpdateTime(time, auth);
}

그리고 다른 수업에서 부르고 싶습니다.ChatHub로 전송할 수 없고 SendUpdate를 호출할 수 없으므로 다음 단계를 수행해야 합니다.

GlobalHost.ConnectionManager.GetHubContext<ChatHub>().Clients.All.UpdateTime(time, auth);

하지만 이 길로 가면 SendTimeUpdate 메소드가 프록시 스크립트/signalr/hubs에 추가되지 않습니다.

이 문제에 대한 해결책이 있습니까?IHubContext의 Clients 속성에서 직접 항목을 호출하지 않고 형식화된 Hub 인스턴스를 가져오고 싶습니다.

도움이 되었습니까?

해결책

아니요. 결과를 캐스팅할 수 없습니다. ....GetHubContext<.... 허브 클래스에.죄송합니다 :(.

GetHubContext 접근 방식은 IHubContext 허브가 IHub.

논리를 중앙 집중화하려면 허브와 외부 서비스에서 호출할 수 있는 메서드를 만드세요.

다른 팁

수업에서 허브에 대한 연결을 만들고 그런 식으로 메서드를 호출할 수는 없나요?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top