从代码后面配置Web服务

时间:2012-02-10 18:45:54

标签: c# asp.net windows web-services mobile

我正在创建一个Windows Mobile 6应用程序,它将为不同的客户端使用Web服务(.asmx)。 据我所知,我需要手动“添加Web引用”;然后我将能够调用这些功能。 是否可以将Web引用配置为代码隐藏的变量? 这样我就可以将Web服务的URL保存在文本文件中。对于不同的客户端,我只需要编辑该文本文件,而不是再次重新编译该应用程序。

2 个答案:

答案 0 :(得分:0)

您必须在设计时添加Web参考。

在运行时,您可以使用Url属性修改目标Web服务的URL。以下是从app.config中提取目标URL的示例:

var ws = new MyWebService();
ws.Url = ConfigurationManager.AppSettings["SomeUrl"].ToString();

这里唯一的问题是设计时和运行时服务的WSDL必须匹配。

答案 1 :(得分:0)

是的,只需添加以下内容:

<configuration>
    <appSettings>
        <add key="WebReference" value="URLofASMX"/>
...

然后通过以下方式调用它:

string URL = ConfigurationManager.AppSettings["WebReference"].ToString();

如果仅通过添加System.Configuration无法访问ConfigurationManager,则需要向项目添加对System.Configuration的新引用。