WCF“最多只有一个body参数可以序列化而没有包装元素”

时间:2015-01-20 02:44:16

标签: c# wcf

我正在尝试通过MVC Web应用程序使用我的WCF Web服务。我通过VS中的添加服务引用对话框添加服务引用。现在,当我尝试调用我的proxy.LoginUser时,我收到错误消息:

合同'IService1'的操作'GetAlertNotification'指定要序列化的多个请求体参数,而不包含任何包装元素。最多可以在没有包装元素的情况下序列化一个body参数。删除额外的body参数或将WebGetAttribute / WebInvokeAttribute上的BodyStyle属性设置为Wrapped。

唯一的问题是GetAlertNotification中没有身体参数?如果我理解正确,如果我通过查询字符串传递所有参数,这不应该是一个问题?以下是IService中GetAlertNotification的签名:

    [OperationContract]
    [WebInvoke(Method = "GET", UriTemplate = "/GetAlertNotification?project={project}&currentversion={currentversion}&EncryptData={EncryptData}", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
    AlertNotification GetAlertNotification(string project, string currentversion, bool EncryptData = false);

编辑: 我用WebGet替换了WebInvoke,但仍然收到上面的错误消息。怎么说它有多个请求体参数和UriTemplate中指定的所有内容?我不明白错误在说什么? Anynone?

0 个答案:

没有答案