2011-11-02 122 views
1

我正在處理c#soap web服務。 Web服務被其他C#窗口程序以及PHP網頁使用。我需要在c#windows程序或php腳本用於連接到Web服務的Web服務的url中傳遞參數。我是能夠做類似的事情:在c#soap web服務的url中傳遞參數

http://MyWebService.asmx?myParam=true&myOtherParam=false

如果我用上面我將如何去獲得那些在從C#Web服務的URL PARAMATERS的方法。

感謝您提供的任何幫助。

+0

難道你不能從'Request.QueryString'中讀取它們嗎? – Suhas

+0

我確實嘗試過,但不確定命名空間是什麼,我確實查找了它,但它似乎只適用於ASP.net頁面 – Boardy

+0

它位於System.Web名稱空間中。你可以像訪問它'HttpContext.Current.Request.QueryString' – Suhas

回答

2

您可以在QueryString中訪問它們。要訪問查詢字符串,請使用HttpContext.Current.Request.QueryString

4

我建議你看看Restful WCF

您的服務合同將是這個樣子:

[ServiceContract] 
public interface IYourService 
{ 
    [OperationContract, WebInvoke(Method = "GET", UriTemplate = "YourMethod?myParam={myParam}&myOtherParam={myOtherParam}")] 
    void YourMethod(bool myParam, bool myOtherParam) {...} 
} 
4

如果你要這樣調用它,參數名稱應與那些由Web服務的預期。您還需要包含您的方法名稱,例如:

http://MyWebService.asmx/MyMethodName?myParam=true&myOtherParam=false 
+0

當你說方法的名字,這可能是第一次使用服務時使用的構造函數的名稱。 – Boardy

+0

您的Web服務中是否沒有用'[WebMethod]'屬性裝飾的方法(函數)? – Widor

+0

是的,我想,但我認爲在參數中設置變量會更簡單,然後修改幾個方法,這是我需要做的 – Boardy