中国站长下载-为中国站长提供最好最全的建站资源! 首 页发布资源有事留言繁體中文
设为首页
加入收藏
联系我们
 
您当前的位置:中国站长下载 -> 文章中心 -> 网页编程 -> .NET编程 -> 文章内容  虚拟主机 域名注册 退出登录 用户管理
栏目导航
· ASP编程 · .NET编程
· PHP编程 · JSP编程
· CGI 专区
热门文章
· sndvol32 - sndvol3...
· [组图] FLASH:《大话李白》...
· 个人网站到底能赚多...
· [图文] Rundll.exe是病毒吗...
· [组图] Flash:制作MV
· 价值12万元的网站SE...
· 网站创业者,你需要...
· 一个成功的网站设计...
· [图文] FLASH:韩国导航条解...
· 中国网站的赚钱模式...
相关文章
· [图文] 用ASP.NET 2.0设计网...
· [图文] 用ASP.NET 2.0设计网...
· [图文] 用ASP.NET 2.0设计网...
· [图文] 用ASP.NET 2.0设计网...
· [图文] 用ASP.NET 2.0设计网...
· ASP.NET中WebForm组...
· ASP.NET中WebForm组...
· ASP.NET中WebForm组...
· ASP.NET中WebForm组...
· ASP.NET计数器
ASP.NET创建Web服务之设计方针(1)
作者:不详  来源:不详  发布时间:2006-8-14 8:22:03  发布人:chinazhan

 减小字体 增大字体

     使用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>
  
  
  
    做人要厚道,请注明转自chinazhan中国站长(www.ChinaZhan.com)。

 
[] [返回上一页] [打 印] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
中国站长下载
中国站长下载

本页只接受PR>=4 IT类站点连接,申请连接,谢谢您们的支持!希望我们的下载站能够真正帮到中国的站长们!
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图
Copyright © 2005-2006 ChinaZhan.Net. All Rights Reserved .