·您的位置: 首页 » 资源教程 » 编程开发 » ASP.NET » ASP.NET创建XML Web服务全接触(8)

ASP.NET创建XML Web服务全接触(8)

类别: ASP.NET教程  评论数:0 总得分:0
设计方针(3)

    

 使用输出缓冲来改善你的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服务的示例。不要依靠服务描述或服务帮助页面作为你唯一的文档。
-= 资 源 教 程 =-
文 章 搜 索
关键词:
类型:
范围:
纯粹空间 softpure.com
Copyright © 2006-2008 暖阳制作 版权所有
QQ: 15242663 (拒绝闲聊)  Email: faisun@sina.com
 纯粹空间 - 韩国酷站|酷站欣赏|教程大全|资源下载|免费博客|美女壁纸|设计素材|技术论坛   Valid XHTML 1.0 Transitional
百度搜索 谷歌搜索 Alexa搜索 | 粤ICP备19116064号-1