当你实例化你的web服务代理类时,你可以使用Url参数覆盖web服务的URL。
如果你获得了你想要的URL,那么你可以在这里设置它。
建议从配置文件中获取所需的URL并设置一个工厂类来提供Web服务代理。
MyWebService clientProxy = new MyWebService();
clientProxy.Url = "https://localhost:2335/SWebService.asmx";
// or better still
// clientProxy.Url = ConfigurationSettings.AppSettings["webServiceUrl"];
这种方法然后去住,因为你会希望有一个实时Web服务端点有用。
增加工厂类的位置:
public static class WebServiceFactory
{
public static MyWebService GetMyWebService()
{
MyWebService clientProxy = new MyWebService();
clientProxy.Url = ConfigurationSettings.AppSettings["webServiceUrl"];
return clientProxy;
}
}
意味着你就可以只让你这样的客户端代理:
MyWebService clientProxy = WebServiceFactory.GetMyWebService();
string exampleText = clientProxy.GetExampleText();
这里是web.config文件的例子:
<configuration>
<appSettings>
<add key="webServiceUrl" value="https://localhost:2335/SWebService.asmx" />
</appSettings>
可能是最简单的方法...删除Web服务绑定,并使用“https”地址作为源重新添加它。 – 2011-03-18 16:17:59