C# WebService中的FromBody

C# WebService中的FromBody,c#,web-services,C#,Web Services,我正在制作WebService(.asmx),我想在WebApi中使用某种属性,比如[FromBody]。例如,我有web服务方法: [WebMethod] [ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = false)] public virtual ServiceResponse GetTest(Test request){} 但是当我用json发送请求时,它看起来是这样的: { "request":

我正在制作WebService(.asmx),我想在WebApi中使用某种属性,比如[FromBody]。例如,我有web服务方法:

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = false)]
public virtual ServiceResponse GetTest(Test request){}
但是当我用json发送请求时,它看起来是这样的:

{
  "request":
  {
  "parameter1" : "param1",
  "parameter2" : "param12",
  }
}
我希望json请求不包含“request”。但当我删除它时,会出现异常:无效的web服务调用,缺少参数值:“request”。
如何在Web服务中实现这一点?

下面是一个示例,说明了我是如何做到您正在尝试做的事情的:

[WebInvoke(Method = "POST",
           RequestFormat = WebMessageFormat.Json,
           ResponseFormat = WebMessageFormat.Json,
           UriTemplate = "save")]
public BaseResponse SaveSurvey(Survey survey) { ... }
然后,它以
内容类型:application/json
的形式读入数据

{
  guid: #,
  name: "",
  ... 
}

哦,等等,我现在明白你的问题了。您最好使用
[WebInfoke(Method=“POST”,…
,然后它将直接在主体中加载对象。感谢您的响应,但它不起作用。您将其作为
{“parameter1”:“param1”,“parameter2”:“param2”}
发送,或者您如何发送它?我想像您的评论一样发送它,而不需要“请求”,但它不断抛出异常。