8

我有一个 WCF Web 服务方法,其原型是:

[OperationContract]
Response<List<Customer>> GetCustomers();

当我将服务引用添加到客户端时,Visual Studio (2005) 创建一个名为“ResponseOfArrayOfCustomerrleXg3IC”的类型,它是“Response<List<Customer>>”的包装器。有什么办法可以控制包装名称吗?ResponseOfArrayOfCustomerrleXg3IC 听起来不是很吸引人……

4

3 回答 3

18

DataContract您可以像这样在属性中定义自己的名称:

[DataContract(Name = "ResponseOf{0}")]
public class Response<T>

请注意,在您的示例中{0},您的代理引用类型将被替换ResponseOfArrayOfCustomer

更多信息:WCF:序列化和泛型

于 2008-10-05T21:07:01.000 回答
3

请试试这个:

[OperationContract]
[return: MessageParameter(Name="YOURNAME")]
Response<List<Customer>> GetCustomers();
于 2008-10-05T18:07:04.827 回答
-1

是的。OperationContractAttribute 采用一个名为 Name 的参数。您可以像这样指定它:

[OperationContract(Name = "NameGoesHere")]
Response<List<Customer>> GetCustomers();
于 2008-10-05T17:50:18.760 回答