在 ASMX Web 服务中,可以使用 SoapInclude 属性手动设置已知类型,以确保在返回的对象中包含该类型的信息。
例如,以下代码演示了如何在 ASMX Web 服务中设置已知类型:
[WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] public class MyService : System.Web.Services.WebService { [WebMethod] [return: System.Xml.Serialization.XmlElement("MyResponse", typeof(MyResponse), Namespace = "http://tempuri.org/")] [SoapHeader("MyHeader", typeof(MyHeader), Direction = SoapHeaderDirection.InOut)] [SoapInclude(typeof(MyResponse))] public object MyMethod(MyRequest request) { // do something var response = new MyResponse(); return response; } }
在上述示例中,使用 SoapInclude 属性将 MyResponse 类型添加到 Web 服务中,以便在返回的对象中包含该类型的信息。