1.大多數情況下,我們都是在vs裡面通過新增web引用的方式,在客戶端自動生成客戶端**去呼叫webservice的,
有時候,伺服器端的位址可能會經常變,這裡就需要動態的呼叫webservice,
一種是服務沒有變化只是ip位址變化了,這樣我們只需要在獲取客戶端**的時候,將其url位址修改即可。
2.建立servicedescription描述物件
3.建立服務客戶端**
4.編譯客戶端**
5.反射呼叫服務方法。
這裡建立乙個測試用的webservice,裡面有乙個方法 sayhello().生成並發布,
原始碼如下:
webservice:
view code
usingclient:system;
using
system.data;
using
system.web;
using
system.collections;
using
system.web.services;
using
system.web.services.protocols;
using
system.componentmodel;
namespace
testinvokewebserivce}}
view code
using效果圖:system;
using
system.collections.generic;
using
system.text;
using
system.web;
using
system.net;
using
system.io;
using
system.web.services;
using
system.web.services.description;
using
system.xml.serialization;
using
system.codedom;
using
system.codedom.compiler;
using
system.reflection;
namespace
client
public
void invokemethod(string uri, string servicename, string methodname, string
parameters)
).tostring();
console.writeline(ss);
}results.errors.tostring();}}
}
動態呼叫WebService
public static object invokewebservice string url,string methodname,object args 其中,url是web服務的位址,methodname是要呼叫服務方法名,args是要呼叫web服務所需的引數,返回值就是web服務返回的結果了...
動態呼叫webservice
protected string testservice string strurl,string methodname assembly asm assembly.loadfrom mytest.dll 載入前面生成的程式集 type t asm.gettype testwebservice.se...
C 動態呼叫WebService
使用示例 trycatch exception ex 類檔案 using system using system.web using system.xml using system.collections using system.net using system.text using system...