如何为具有指定类型的通用服务配置WCF端点?

时间:2009-12-01 17:00:07

标签: c# .net wcf generics

我有以下WCF服务主机控制台应用程序:

static void Main(string[] args)
{
    ServiceHost serviceHost =
       new ServiceHost(typeof(MyServiceName<int>));
    serviceHost.Open();
    Console.ReadLine();
}

我尝试为它配置端点:

<services>
  <service name="MyNamespace.MyServiceName&lt;int&gt;">
    <endpoint
      address="net.tcp://localhost:8002/MyServiceName"
      binding="netTcpBinding"
      contract="MyNamespace.IMyServiceName&lt;int&gt;"/>
  </service>
</services>

但它不起作用。问题是&lt;&gt;吗?

1 个答案:

答案 0 :(得分:2)

您的合同必须是具体类型 - 您不能使用泛型,抱歉。

WCF是一个非常不同的野兽而不是直接的.NET - 由于很多东西需要“减少”到XML模式可以表达的东西,所以你不能使用接口(大部分)和泛型。

您必须创建具体的接口并将其用作服务合同。