当前位置:中国站长下载文章中心网页编程.NET编程 → ASP.NET创建Web服务之设计方针(2)

ASP.NET创建Web服务之设计方针(2)

减小字体 增大字体 作者:不详  来源:不详  发布时间:2006-8-14 8:22:00
em.Net" %>
  <%@ OutputCache Duration="60" VaryByParam="none" %>
  <html>
  <script language="VB" runat="server">
  Sub EnterBtn_Click(Src As Object, e As EventArgs)
   Dim math As New MyMath.Math()
   ' Call the XML Web service.
   Dim addtotal As Single = math.Add(Convert.ToInt32(Num1.Text), Convert.ToInt32(Num2.Text))
   ' Display the 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 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" runat=server/>
  <p>
  <asp:label id="Total" runat=server/>
  </font>
  </form>
  </body>
  </html>
  
    你还可以使用WebMethod属性类的CacheDuration属性来在服务器上允许高速缓冲。下面的代码示例显示如何在XML Web服务方法上使用CacheDuration属性来指定输出高速缓冲为60秒。
  
  [C#]
  <%@ WebService Language="C#" Class="MathService" %>
  using System;
  using System.Web.Services;
  public class MathService : WebService {
  [WebMethod(CacheDuration=60)]
  public float Add(float a, float b)
  {
  return a + b;
  }
  [WebMethod(CacheDuration=60)]
  public float Subtract(float a, float b)
  {
  return a - b;
  }
  [WebMethod(CacheDuration=60)]
  public float Multiply(float a, float b)
  {
  return a * b;
  }
  [WebMethod(CacheDuration=60)]
  public float Divide(float a, float b)
  {
  if (b==0) return -1;
  return a / b;
  }
  }
  [Visual Basic]
  <%@ WebService Language="VB" Class="MathService" %>
  Imports System
  Imports System.Web.Services
  Public Class MathService
  Inherits WebService
  <WebMethod(CacheDuration := 60)> _
  Public Function Add(a As Single, b As Single) As Single
  Return a + b
  End Function
  
  <WebMethod(CacheDuration := 60)> _
  Public Function Subtract(a As Single, b As Single) As Single
  Return a - b
  End Function
  
  <WebMethod(CacheDuration := 60)> _
  Public Function Multiply(a As Single, b As Single) As Single
  Return a * b
  End Function
  
  <WebMethod(CacheDuration := 60)> _
  Public Function Divide(a As Single, b As Single) As Single
  If b = 0 Then
  Return - 1
  End If
  Return a / b
  End Function
  End Class
  
    当设计你的XML Web服务时,努力遵循如何格式化模式的结构。
  
    XML Web服务使用SOAP作为主要的传送和序列化协议。一个SOAP消息由一个可选择的头体和消息体组成。头部分包含可以被Web服务器体系结构处理的信息。SOAP没有定义任何头。消息体部分包含由应用程序处理的信息,例如用于XML Web服务的参数或返回值。
  
    提供用于你的XML Web服务的文档,如一个静态HTML文件,描述你的服务的操作和数据结构。还包括如何使用这个XML Web服务的示例。不要依靠服务描述或服务帮助页面作为你唯一的文档。
    做人要厚道,请注明转自chinazhan中国站长(www.ChinaZhan.com)。

上一页  [1] [2]