六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

ASP.NET創建XML Web服務全接觸(6)

[摘要]使用ASP.NET構造一個簡單的XML Web服務是相對容易的,然而,XML Web服務的真正的強大的功能只有等你研究了基礎結構以后才能領悟。XML Web服務是建立在.NET框架和公共語言運行時間基礎上的。一個XML Web服務可以利用這些技術。例如,ASP.NET支持的性能、狀態管理和驗證全都...

    

  使用ASP.NET構造一個簡單的XML Web服務是相對容易的,然而,XML Web服務的真正的強大的功能只有等你研究了基礎結構以后才能領悟。XML Web服務是建立在.NET框架和公共語言運行時間基礎上的。一個XML Web服務可以利用這些技術。例如,ASP.NET支持的性能、狀態管理和驗證全都可被用來構造XML Web服務。

  XML Web服務的基礎結構是構建來符合象SOAP、XML和WSDL這樣的行業標準,并且它允許其他的平臺的客戶端與XML Web服務互操作。只要一個客戶端可以發送符合標準的SOAP消息、依據格式化的服務描述,那么這個客戶端可以調用一個使用ASP.NET創建的XML Web服務(不管客戶端存在于何種平臺)。

  當你使用ASP.NET構造一個XML Web服務時,它自動支持客戶端使用SOAP、HTTP-GET和HTTP-POST協議通訊。即使HTTP-GET和HTTP-POST支持使用URL編碼的變量名/變量值對來傳送消息,支持這兩個協議的數據類型也沒有支持SOAP協議的數據類型豐富。在SOAP中,使用XML把數據傳送到XML Web服務或從XML Web服務取回消息,你可以使用支持豐富的數據類型集的XSD模式定義復雜的數據類型。使用ASP.NET構造一個XML Web服務的開發者不必明確地定義復雜的數據類型。他們可以只構造一個管理類。ASP.NET處理定義到一個XSD模式的映射類和到XML數據的映射對象實例,以便通過網絡傳輸。

  重要的是要注意XML Web服務并不能取代DCOM,我們應該說XML Web服務是跨越使用行業標準的平臺通信的一種消息傳遞基礎結構。

  因為ASP.NET提供了為XML Web服務內部工作的基礎結構,開發者可以集中精力來實現他們的特定的XML Web服務的功能。使用ASP.NET開發一個XML Web服務從下面三步開始:

  1. 創建一個帶有.asmx擴展名的文件。

  2. 在這個文件里面,使用一條指令聲明XML Web服務。

  3. 定義組成XML Web服務功能的XML Web服務方法。

  XML Web服務是一個強大的技術,用于提供可通過因特網變成訪問的服務。下面的建議將幫助你創建高效的XML Web服務:

  XML Web服務既支持同步的又支持異步的客戶端和存放XML Web服務的服務器之間的通信。在同步通信情況下,客戶端發送一個對服務的請求到服務主機服務器上等待響應。這防止客戶端在等待結果的時候,執行其它的操作。然而異步通信導致客戶端在等待相應的時候繼續處理其它的任務。客戶端在可用的時候響應服務請求的結果。

  當你使用Web服務描述語言工具(Wsdl.exe)來創建你的代理類的時候,它產生類中的方法的標準的、同步版本和異步版本。異步版本由兩個方法組成,稱為Begin和End。Begin方法用于初始化XML Web服務,而End方法取得結果。

  使用異步通信能夠改善系統使用率和避免客戶端在它等待XML Web服務結果的時候的延遲。

  下面的代碼示例顯示如何從一個客戶應用程序產生一個到XML Web服務的異步調用。

[C#]
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Net" %>
<html>
<script language="C#" runat="server">
void EnterBtn_Click(Object Src, EventArgs E)
{
MyMath.Math math = new MyMath.Math();
// Call to Add XML Web service method asynchronously
// and then wait for it to complete.
IAsyncResult result =
math.BeginAdd(Convert.ToInt32(Num1.Text),
Convert.ToInt32(Num2.Text),
null,
null);
// Wait for asynchronous call to complete.
result.AsyncWaitHandle.WaitOne();
// Complete the asynchronous call to Add XML Web service method.
float total = math.EndAdd(result);
// Display results in a Label control.
Total.Text = "Total: " + total.ToString();
}
</script>
<body>
<form action="MathClient.aspx" runat=server>
<font face="Verdana">
Enter the two numbers you want to add and then press
the Total button.
<p>
Number 1:
<asp:textbox id="Num1"
runat=server/>
+
Number 2:
<asp:textbox id="Num2"
runat=server/>
=
<asp:button id="Total_Button"
text="Total"
OnClick="EnterBtn_Click"
runat=server/>
<p>
<asp:label id="Total" runat=server/>
</font>
</form>
</body>
</html>
[Visual Basic]
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Net" %>
<html>
<script language="VB" runat="server">
Sub EnterBtn_Click(Src As Object, E As EventArgs)
Dim math As New MyMath.Math()
' Call to Add XML Web service method asynchronously
' and then wait for it to complete.
Dim result As IAsyncResult = _
math.BeginAdd(Convert.ToInt32(Num1.Text), _
Convert.ToInt32(Num2.Text), _
Nothing, _
Nothing)

' Wait for asynchronous call to complete.
result.AsyncWaitHandle.WaitOne()
' Complete the asynchronous call to Add XML Web service method.
Dim addtotal As Single = math.EndAdd(result)
' Display results in a Label control.
Total.Text = "Total: " & addtotal.ToString()
End Sub
</script>
<body>
<form action="MathClient.aspx" runat=server>
<font face="Verdana">
Enter the two numbers you want to add and then press
the Total button.
<p>
Number 1:
<asp:textbox id="Num1"
runat=server/>
+
Number 2:
<asp:textbox id="Num2"
runat=server/>
=
<asp:button id="Total_Button"
text="Total"
OnClick="EnterBtn_Click"
runat=server/>
<p>
<asp:label id="Total" runat=server/>
</font>
</form>
</body>
</html>


  想獲得更多關于異步通信的信息,請參閱后面的"和XML Web服務異步地通訊"。





主站蜘蛛池模板: 一级做a爰片久久毛片16 | 日日碰夜夜操 | 日本xxxxxx片免费播放18 | 香蕉福利久久福利久久香蕉 | 色综合久久久高清综合久久久 | 日韩视频大全 | 一区二区三区在线免费视频 | 啪啪网站色大全免费 | 性配久久久 | 中文字幕欧美在线观看 | 欧美一级淫片aaaaaaa视频 | 在线视频你懂的国产福利 | 亚洲一区色| 午夜看片在线 | 亚洲第一在线播放 | 日本欧美久久久久免费播放网 | 在线观看亚洲精品专区 | 最近2019中文字幕大全第二页 | 日韩欧美国产三级 | 色综合久久一本首久久 | 天堂在线最新版资源www | 日本欧美在线观看 | 最近最新的日本中文字幕 | 欧美一级黄色片免费看 | 一级做a爰片性色毛片视频图片 | 伊人网站在线 | 日韩3级| 日本www色视频成人免费免费 | 日产在线观看 | 亚洲欧美四级在线播放 | 欧美又粗又大又硬又长又爽视频 | 色吊丝欧美| 日本三级视频在线观看 | 尹人久久久香蕉精品 | 日韩精品无码一区二区三区 | 午夜天堂影院 | 青青草影院在线观看 | 日韩欧美亚洲综合一区二区 | 日本一区二区在线播放 | 亚洲欧美一区二区三区久久 | 欧美无删减|