Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何为具有指定类型的通用服务配置WCF端点?_C#_.net_Wcf_Generics - Fatal编程技术网

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

C# 如何为具有指定类型的通用服务配置WCF端点?,c#,.net,wcf,generics,C#,.net,Wcf,Generics,我有以下WCF服务主机控制台应用程序: static void Main(string[] args) { ServiceHost serviceHost = new ServiceHost(typeof(MyServiceName<int>)); serviceHost.Open(); Console.ReadLine(); } static void Main(字符串[]args) { 服务主机服务主机= 新的ServiceHost(typ

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

static void Main(string[] args)
{
    ServiceHost serviceHost =
       new ServiceHost(typeof(MyServiceName<int>));
    serviceHost.Open();
    Console.ReadLine();
}
static void Main(字符串[]args)
{
服务主机服务主机=
新的ServiceHost(typeof(MyServiceName));
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>


但它不起作用。问题出在
上吗?

您的合同必须是一种具体类型-抱歉,您不能在这方面使用泛型

WCF与straight up.NET是一个非常不同的野兽,因为很多东西需要“简化”到XML模式可以表达的程度,所以不能使用接口(大部分情况下)和泛型


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

合同也可以是一个接口。接口可以是泛型的,但正如marc_所说,实现类不能是泛型的。@MattC:那么“Contract=”和泛型的关系就可以了?我很惊讶。。。。。总有一天我会试试的:-)@marc_s:不,对不起,我误解了你的评论。我以为你指的是实际合同,而不是web.config中的价值。@marc_请看,那个人是在暗示这是可能的。但是在序列化和反序列化时,我不知道这样做的后果。你对此有什么想法?