動態呼叫webservice

2021-09-21 11:46:40 字數 1017 閱讀 3969

protected

string

testservice(

string

strurl,

string

methodname) 

assembly asm 

=assembly.loadfrom(

"mytest.dll");

//載入前面生成的程式集 

type t 

=asm.gettype(

"testwebservice.service

"); 

objecto =

activator.createinstance(t); 

methodinfo method 

=t.getmethod(methodname);

//getpersons是服務端的方法名稱,你想呼叫服務端的什麼方法都可以在這裡改,最好封裝一下 

//string item = (string)method.invoke(o, null); 

//注:method.invoke(o, null)返回的是乙個object,如果你服務端返回的是dataset,這裡也是用(dataset)method.invoke(o, null)轉一下就行了 

//foreach (string str in item) 

//上面是根據webservice位址,模似生成乙個**類,如果你想看看生成的**檔案是什麼樣子,可以用以下**儲存下來,預設是儲存在bin目錄下面 

textwriter writer 

=file.createtext(

"mytest.cs

"); 

provider.generatecodefromcompileunit(unit, writer, 

null

); writer.flush(); 

writer.close(); 

return

method.invoke(o, 

null

).tostring(); }

動態呼叫WebService

public static object invokewebservice string url,string methodname,object args 其中,url是web服務的位址,methodname是要呼叫服務方法名,args是要呼叫web服務所需的引數,返回值就是web服務返回的結果了...

動態呼叫WebService

1.大多數情況下,我們都是在vs裡面通過新增web引用的方式,在客戶端自動生成客戶端 去呼叫webservice的,有時候,伺服器端的位址可能會經常變,這裡就需要動態的呼叫webservice,一種是服務沒有變化只是ip位址變化了,這樣我們只需要在獲取客戶端 的時候,將其url位址修改即可。2.建立...

C 動態呼叫WebService

使用示例 trycatch exception ex 類檔案 using system using system.web using system.xml using system.collections using system.net using system.text using system...