2014-02-13 7 views
4

SignalR 서버를위한 Hub 클래스를 만들고 있으며, 많은 코드 라인에서 나를 구할 수있는 일반적인 메소드를 사용하고 싶습니다. 그러나 SignalR은 C#에서도 Xamarin.iOS 클라이언트로부터 서버 코드를 호출하려고 할 때 오류가 발생합니다.SignalR Hub에서 일반적인 메소드 사용하기

var list = await hubProxy.Invoke<List<Article>>("SendDataToClient"); 

내가 여기 뭔가 잘못하고 있는가하거나 SignalR 허브에서 일반적인 방법을 사용하는 것이 바로 불가능 서버 코드

public List<T> SendDataToClient<T>() where T : BusinessEntityBase 
{ 
    return SomeDBManager.GetItems<T>(); 
} 

클라이언트 코드?

답변

3

SignalR 클라이언트에서 일반 메소드를 호출 할 수 없습니다. 그것은을 생성 signalr ghp 명령을 사용할 때이 오류를보고 쉽게

System.ArgumentException: Method System.Collections.Generic.List`1[T] SendDataToClient[T]() is a generic method definition 

: 당신은 당신이 일반 SendDataToClient 방법으로 허브를 포함하는 DLL에 대해 signalr ghp /path:myassembly.dll를 실행하면 다음과 같은 오류가 발생합니다 것을 알 수 있습니다 JavaScript 허브 프록시 파일이지만 SendDataToClient를 호출 할 때 서버에서 발생하는 것과 동일한 오류입니다.

+0

허가 해 주셔서 감사합니다. 이제는이 대신에 당신이 무엇을 권하고 싶습니다. 서로 다른 유형의 데이터 각각에 대해 허브에 함수를 작성합니까? – timu

+1

그것은 가장 직접적인 접근법입니다. – halter73

관련 문제