当前位置: 代码迷 >> Web Service >> 一个困扰我很久的有关问题,能不能动态指定web servcies的地址
  详细解决方案

一个困扰我很久的有关问题,能不能动态指定web servcies的地址

热度:619   发布时间:2011-12-07 22:35:48.0
一个困扰我很久的问题,能不能动态指定web servcies的地址?
比如我写了web   services,地址为:http://localhost:1183/WebSite1/Service.asmx,还有一个Windows程序为WindowsApplication1,并在其中引用了上述的web   services,我想问,如果我的程序开发完成了,拿到客户那边去部署,WindowsApplication1中的web   services的地址肯定不在是localhost了,我如何能让WindowsApplication1能动态指定web   services的地址?

------解决方案--------------------
打开你的windowsapplication1的程序,找到webservices引用下的Reference.map―> Reference.cs,对为你的代理类添加构造函数:
比如你的代理类为Services1,那么添加如下:

public Service(string url)
{
this.Url = url;
}

即可。


在你的windows程序中,实例化Service1的时候,用真正的地址去构造即可。
------解决方案--------------------
晕死,
就是从System.Web.Services.Protocols.SoapHttpClientProtocol上继承下来的那个类。
------解决方案--------------------
你的代理类 object = new 你的代理类();
object.url = // 你的url;

webservice设为动态引用,web.config中修改也可以
------解决方案--------------------
你的windowsapplication 肯定添加了webservice的代理类了吧,假设代理类的名字是service
那么你在使用的时候
service s = new service();
s.Url = ... // 部署之后的动态URL

部署之后的动态URL 如果不让用户输入的话,就只能想办法写到windowsapplication的config文件里,然后使用的时候读出来
  相关解决方案