代码之家  ›  专栏  ›  技术社区  ›  ilitirit

如何控制通用WCF返回类型的名称?

  •  8
  • ilitirit  · 技术社区  · 17 年前

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

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

    当我将服务引用添加到客户机时,Visual Studio(2005)创建了一个名为“ResponseFarrayOfCustomerlerlexG3ic”的类型,它是“Response<List<Customer>”的包装器。有没有办法控制包装器的名称?客户RlexG3IC的反应听起来不是很吸引人。。。

    3 回复  |  直到 17 年前
        1
  •  18
  •   macs Panos    8 年前

    您可以在中定义自己的名称 DataContract 属性如下:

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

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

    更多信息请点击此处: WCF: Serialization and Generics

        2
  •  3
  •   aogan    17 年前

    [OperationContract]
    [return: MessageParameter(Name="YOURNAME")]
    Response<List<Customer>> GetCustomers();
    
        3
  •  -1
  •   Micah    17 年前

    对OperationContractAttribute采用名为Name的参数。您可以这样指定它:

    [OperationContract(Name = "NameGoesHere")]
    Response<List<Customer>> GetCustomers();