2012-06-21 94 views
0

我正在使用.asmx頁面開發.NET 3.5 webservice,但事實是我無法在GET和POST請求中使用可選參數,因此我認爲 將我的應用程序切換到WCF。但我並不清楚它是如何工作的。將.asmx轉換爲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 
} 

回答

2

WSDL無法用語言形容可選參數,所以不會有問題,如果你正在使用ASMX或WCF合同,使用可選的參數是多餘的實際語義(他們仍然歸類爲需要的參數 - 即像所有的參數)。

+0

在閱讀本文http://goo.gl/YfBRs之後,我假定使用WCF我可以有可選參數。錯誤? –

+0

那麼當我需要使用相同的消息名稱進行選擇時,有什麼解決方案?我想使用普通的.aspx頁面,並手動處理參數,但它看起來很難看 –

+0

「嗯」........ –