最近時間太少了
馬上要走了
這篇文章就算是結尾吧
可能說明會少些
代碼多些
接上篇文章
我們先簡單說明下綁定函數
首先實例化ServiceA
這個和一般類的實例化並沒有不同
接下來用xmlNode
來接受函數的返回值
接下來是構造xml
並將其轉化為dataset
這是通用的方法
如果是剛接觸不久的朋友
最好能記下這種方法
接下來給出異步調用兩個服務的代碼
//綁定數據
public void BindData()
{
IAsyncResult ar
;
IAsyncResult ar
;
serviceA=new SiteA
Service
();
serviceB=new SiteB
Service
();
DataSet ds=new DataSet();
XmlNode xmlNode
xmlNode
;
XmlDataDocument xd=new XmlDataDocument();
StringBuilder xmlString
xmlString
;
//
簡單的異步調用
ar
=serviceA
BeginGetSiteAData(strSearch
null
null);
ar
=serviceB
BeginGetSiteAData(strSearch
null
null);
xmlNode
=serviceA
EndGetSiteAData(ar
);
xmlNode
=serviceB
EndGetSiteAData(ar
);
//
if(xmlNode
==null&&xmlNode
==null) //
存儲過程執行失敗
return;
xmlString
=new StringBuilder(xmlNode
OuterXml);
xmlString
=new StringBuilder(xmlNode
OuterXml);
xmlString
=MakeNewXmlString(xmlString
xmlString
); //生成新的xml
if(xmlString
ToString()
Equals(
<NewDataSet xmlns=\
\
></NewDataSet>
))
return ;
xd
LoadXml(xmlString
ToString());
ds
ReadXml(new XmlNodeReader(xd));
DataGrid
DataSource=ds
Tables[
list
]
DefaultView;
DataGrid
DataBind();
}
//生成新XML
public StringBuilder MakeNewXmlString(StringBuilder str
StringBuilder str
)
{
str
=str
Replace(
</NewDataSet>
);
str
=str
Replace(
<NewDataSet xmlns=\
\
>
);
str
Append(str
ToString());
return str
;
}
這有兩個需要注意的地方
一個是xml構造
還有就是異步調用的實現
請讀者
自己理解
下面講下通過dll來引用webservice的方法
我只把流程介紹下
首先
在ie輸入服務的地址
如:
然後寫輸入
打開後
另存為xxx
wsdl
然後用vs的命令提示符來編譯:wsdl /namespace:SiteA ServiceA
wsdl
生成名字空間為sitea的代理類
最後csc /out:ServiceA
dll /t:library Service
cs
其中service
cs為代理類文件
最後引用dll就可以了
到這裡
我們的例子基本也就介紹完了
由於個人的原因
最後一篇可能寫的比較倉促
非常慚愧
不知道寫這麼多
對學習中的朋友會不會有幫助
裡面的東西
很多也算是個人理解
如果出錯
還請各位海涵:)
以後可能上網的時間會很少
要考研了
如果你有什麼需要幫助的或是疑惑的地方
可以聯系我
如果上網的話
一定會回的
From:http://tw.wingwit.com/Article/program/net/201311/12645.html