2008年5月11日 星期日

如何動態更換Web Services位址

之前在工作上有遇到需要透過.Net呼叫Web Services與其它系統進行溝通,不過由於系統上線後如果有問題需要動態的更換Web Services位置,如何透過程式的控制來進行變更就是我遭遇到的問題。

我們在.Net裡面可以直接Reference Web Services並將他設定為一個物件,之後在程式碼中就可以進行該物件的使用,不過該物件會固定指往我們一開始設定的網址去進行作業,如果想在程式碼中任意變更指定位置就必須使用Soap來自己實做囉? 其實不用,下面來分享一下我偷吃步的方法。
Step1. 加入Web Services參考
  服務位置:http://xxx.xxx.xxx/service.asmx
  參考名稱:TestService
Step2. 程式碼中使用並動態變更
  /* Create Web Services Object */
  TestService oWs = new TestService();
  /* Switch Service Address */
  oWs.Url = "http://ooo.xxx.xxx/services.asmx";
  oWs.Discover();
  Use Current Service Method...


Web Services Address來源可以透過Database、Web.config、Text File....
如果大家有更好的方法記得一起分享喔

沒有留言: