2011-11-02 143 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