0

我正在使用 .asmx 页面开发 .NET 3.5 Web 服务,但我不能在 GET 和 POST 请求中使用可选参数的事实让我想到将我的应用程序切换到 WCF。但我没有清楚地了解它是如何工作的。

你能告诉我下面的代码如果转换成 WCF 会怎样吗?

[WebService]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
[ScriptService]
public class ws :WebService
{
    #region WebMethods

    //Parameters shoud be optional but it isnt possible in .asmx .NET 3.5
    [WebMethod]
    public XmlNode GetResult(string param1(=null), string param2(= null))
    {
        MyClass myClass = new MyClass();

        //Get a xml string
        string output = myClass.GetXmlString(param1, param2);

        //Load this xml
        XmlDocument xmlDocument = new XmlDocument();
        xmlDocument.LoadXml(output);

        //Return this xml
        return xmlDocument.DocumentElement;
    }

    #endregion
}
4

1 回答 1

2

WSDL 无法描述可选参数,因此无论您使用的是 ASMX 还是 WCF 合同,使用可选参数的实际语义都是多余的(它们仍然被归类为必需参数 - 即与所有参数一样)。

于 2012-06-21T16:13:50.410 回答