将复杂类型作为参数传递给ASMX服务

时间:2011-12-07 21:49:24

标签: c# asp.net web-services

我正在尝试用C#编写一个简单的ASMX Web服务。对于我的生活,我无法理解或找出如何接受比原语更复杂的参数。

是否可以执行以下操作:

[WebMethod]
public string MyMethod(SomeStruct parameter)
{
}

2 个答案:

答案 0 :(得分:2)

对于其他有同样问题的人。答案是使用Soap

至于为什么使用ASMX服务而不是WCF,有几个原因:

  1. 更轻松地配置和部署小型 Web服务
  2. 其他开发人员正在使用并期望ASMX服务
  3. 虽然第一个原因是有争议的,但在第二个原因中,确实没有什么可以在短期内完成,特别是在与自己公司以外的开发人员合作的背景下。

答案 1 :(得分:0)

试试这个:

[WebMethod]
public string MyMethod( )
{
   var parameter = new JavaScriptSerializer().Deserialize<SomeStruct>(HttpContext.Current.Request["parameter"]);
}