使用通用参数的Azure Service Fabric Remoting

时间:2017-08-21 14:15:33

标签: c# azure generics azure-service-fabric .net-remoting

我正在通过服务远程处理在我的Service Fabric应用程序方法中发送一个泛型参数。

我的界面如下:

public interface IMyServiceRemoting : IService
{
   Task<String> GetMessageFromServer<T>(T hint)// a hint could be of byte[] or string or any object
}

我正在接受

  

System.ArgumentException:&#34;服务接口&#39; ServiceRemoting.Interfaces.IMyServiceRemoting`1 [[System.Object,mscorlib,version = 4.0.0.0,Culture = neutral,publicKeyToken = b77a5c561934e089]]&# 39;正在使用泛型。 通用界面无法远程&#34;。

我无法理解为什么我不能使用泛型。 请提供正确的解释。

2 个答案:

答案 0 :(得分:4)

你根本做不到。这是不可能的,因为肥皂不支持这一点。请参阅此article,其中提到如何绕过泛型,通过创建一个被调用的中间本地对象并在调用WCF操作之前强制转换对象。

答案 1 :(得分:1)

之前曾问过这个问题。 answer来自SF团队成员。

  

所以在你的情况下,不,还没有支持泛型。但这是一个   特定服务通信栈的限制,而不是   一般的服务,当然你可以使用any communication stack   你想要