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

本文关键字:ASMX 服务 参数传递 复杂 类型 | 更新日期: 2023-09-27 18:17:11

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

是否可以这样做:

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

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

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

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

  1. 小型 web服务更容易配置和部署
  2. 其他开发人员正在使用并期望ASMX服务

虽然第一个原因是有争议的,但第二个原因在短期内确实无法解决,特别是在与自己公司以外的开发人员合作的情况下。

try this:

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