繁体   English   中英

枚举集合的WCF错误

[英]WCF error with enum collection

这个程序与简单的枚举工作正常。 但是当我想要枚举的集合时,我启动时会出现WCF错误。

    [OperationContract]
    [FaultContract(typeof(ErrorData))]
    [WebInvoke(Method = "GET",
        RequestFormat = WebMessageFormat.Json,
        ResponseFormat = WebMessageFormat.Json,
        UriTemplate = "TestEnum?productRetrieveOptions={productRetrieveOptions}")]
    string TestEnum(ICollection<DTO.ProductRetrieveOption> productRetrieveOptions);



    public string TestEnum(ICollection<DTO.ProductRetrieveOption> productRetrieveOptions)
    {
        return string.Format("OK ({0})", productRetrieveOptions);
    }



[DataContract]
public enum ProductRetrieveOption : int
{
    [System.Runtime.Serialization.EnumMemberAttribute()]
    //[EnumMember]
    Stock = 0,

    [System.Runtime.Serialization.EnumMemberAttribute()]
    //[EnumMember]
    RightAssociated = 1,

    [System.Runtime.Serialization.EnumMemberAttribute()]
    //[EnumMember]
    ValidityDate = 2,

    [System.Runtime.Serialization.EnumMemberAttribute()]
    //[EnumMember]
    FullTariff = 3,
} 

错误是:

操作'TestEnum'合同Isale有一个名为'productRetrieveOptions'的请求变量'System.Collections.Generic.ICollection 1 [DTO.ProductRetrieveOption] ', but the type' System.Collections.Generic.ICollection 1 [DTO.ProductRetrieveOption]'是不能与'QueryStringConverter'转换。 UriTemplate查询值的变量必须具有可由“QueryStringConverter”转换的类型。

我尝试了IList,[],IEnumarable和ICollection,并且Ialways也遇到了同样的错误。

谢谢你的帮助

最后这是一个非常基本的错误

    [OperationContract]
    [FaultContract(typeof(ErrorData))]
    [WebInvoke(Method = "POST",
        RequestFormat = WebMessageFormat.Json,
        ResponseFormat = WebMessageFormat.Json,
        UriTemplate = "TestEnum")]
    string TestEnum(ICollection<DTO.ProductRetrieveOption> productRetrieveOptions);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM