以下是该方案。现有的服务合同中包含一些桌面应用程序消耗的方法。现在需要通过ReST公开一些操作合同。但它要求将所有方法公开为ReST。否则,下面的文本会有例外情况,如果参数被包裹,通常会出现这种情况。
真的很混乱。看起来像是框架中的错误。
错误讯息 -
合同'IService'的操作'SaveEntitiy'指定要序列化的多个请求体参数,而不包含任何包装元素。最多可以在没有包装元素的情况下序列化一个body参数。删除额外的body参数或将WebGetAttribute / WebInvokeAttribute上的BodyStyle属性设置为Wrapped。
运营合同。
[ServiceContract]
public interface IService
{
[OperationContract] //No need to expose this as ReST
string SaveEntity(int id,string name);
[OperationContract]
[WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json)]
string GetData(int value);
}
如果我们将SaveEntity公开为ReST everthing工作。意味着配置是正确的。
答案 0 :(得分:0)
当您尝试使用GET时,请使用下面的 WebGet 方法:
[WebGet(UriTemplate =“GetData / input / {value}”)]
或者
您也可以尝试单独使用[WebGet]。