<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

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

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

      [摘要]使用輸出緩沖來改善你的XML Web服務的性能。當輸出緩沖開啟時,服務請求的結果被保存在輸出緩沖中一段指定的時間。如果一個類似的XML Web服務請求被產生,結果可以從緩沖中取得,而不用重新計算。這樣就通過減少XML Web服務服務器所需的處理來改善了XML Web服務的反饋時間。高速緩存可在客戶...

          

       使用輸出緩沖來改善你的XML Web服務的性能。當輸出緩沖開啟時,服務請求的結果被保存在輸出緩沖中一段指定的時間。如果一個類似的XML Web服務請求被產生,結果可以從緩沖中取得,而不用重新計算。這樣就通過減少XML Web服務服務器所需的處理來改善了XML Web服務的反饋時間。高速緩存可在客戶端和服務器兩者上執行。Duration屬性允許你指定高速緩沖保存XML Web服務輸出的時間。

        在客戶端上使用輸出高速緩沖的指令是:

      <%@ OutputCache Duration="60" %>

        下面的代碼示例顯示如何在客戶應用程序上使用Duration屬性來指定輸出高速緩沖為60秒。

      [C#]
      <%@ Page Language="C#" %>
      <%@ Import Namespace="System.Net" %>
      <%@ OutputCache Duration="60" VaryByParam="none" %>
      <html>
      <script language="C#" runat="server">
      void EnterBtn_Click(Object Src, EventArgs e)
      {
       MyMath.Math math = new MyMath.Math();
       // Call the XML Web service.
       float total = math.Add(Convert.ToInt32(Num1.Text),
       Convert.ToInt32(Num2.Text));
       // Display the 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 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" %>
      <%@ 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" OnClick="EnterBtn_Click" 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服務的示例。不要依靠服務描述或服務幫助頁面作為你唯一的文檔。




      日韩精品一区二区三区高清