tim*_*imu 4 c# generics signalr signalr-hub signalr.client
我正在为我的 SignalR 服务器创建一个集线器类,并希望使用一种通用方法来避免大量代码行。但是,当我尝试从同样在 C# 中的 Xamarin.iOS 客户端调用下面的服务器代码时,SignalR 给了我错误。
服务器代码
public List<T> SendDataToClient<T>() where T : BusinessEntityBase
{
return SomeDBManager.GetItems<T>();
}
Run Code Online (Sandbox Code Playgroud)
客户代码
var list = await hubProxy.Invoke<List<Article>>("SendDataToClient");
Run Code Online (Sandbox Code Playgroud)
我在这里做错了什么还是在 SignalR 集线器中使用泛型方法是不可能的?
您不能从 SignalR 客户端调用泛型方法。您会注意到,如果您signalr ghp /path:myassembly.dll
使用通用 SendDataToClient 方法针对包含集线器的 dll运行,您将收到以下错误:
System.ArgumentException: Method System.Collections.Generic.List`1[T] SendDataToClient[T]() is a generic method definition
Run Code Online (Sandbox Code Playgroud)
使用signalr ghp命令生成 JavaScript 集线器代理文件时更容易看到此错误,但这与尝试调用 SendDataToClient 时服务器上发生的错误相同。
归档时间: |
|
查看次数: |
2688 次 |
最近记录: |