快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

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

设计方针(2)

    

  通过因特网产生许多服务哀求可能影响客户应用程序的性能。当设计你的XML Web服务时,通过创建把有关信息集中在一起的方式可以有效利用服务哀求。例如,假定你有一个XML Web服务,用来检索一本书的信息。我们可以创建一个在一条服务哀求中返回所有的信息的方式,来代替单独的检索书名、作者和出版社的方式。一次传送大块的信息比多次传送小块的信息更有效率。

  下面的代码示例解释如何把有关信息组织到单个XML Web服务方式中。

[C#]
<%@ WebService Language=\"C#\" Class=\"DataService\" %>
using System;
using System.Data;
using System.Data.SqlClient;
using System.Web.Services;
public class DataService {
[WebMethod]
public DataSet GetTitleAuthors() {
SqlConnection myConnection = new SqlConnection(\"Persist Security Info=False;Integrated Security=SSPI;server=localhost;database=pubs\");
SqlDataAdapter myCommand1 = new SqlDataAdapter (\"select * from Authors\", myConnection);
SqlDataAdapter myCommand2 = new SqlDataAdapter(\"select * from Titles\", myConnection);
DataSet ds = new DataSet();
myCommand1.Fill(ds, \"Authors\");
myCommand2.Fill(ds, \"Titles\");
return ds;
}
}
[Visual Basic]
<%@ WebService Language=\"VB\" Class=\"DataService\" %>
Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.Web.Services
Public Class DataService
<WebMethod> _
Public Function GetTitleAuthors() As DataSet
Dim myConnection As New SqlConnection(\"Persist Security Info=False;Integrated Security=SSPI;server=localhost;database=pubs\")
Dim myCommand1 As New SqlDataAdapter(\"select * from Authors\", myConnection)
Dim myCommand2 As New SqlDataAdapter(\"select * from Titles\", myConnection)
Dim ds As New DataSet()
myCommand1.Fill(ds, \"Authors\")
myCommand2.Fill(ds, \"Titles\")
Return ds
End Function
End Class

  当设计你的XML Web服务时,请确保使用标准的面向对象编程操作。使用封装来隐藏实现细节。对于更复杂的XML Web服务,你可以使用继续和多态性来再次使用代码并简化你的设计。

  下面的代码示例显示如何使用继续来创建一个执行数学计算的XML Web服务。

[C#]
<%@ WebService Language=\"C#\" Class=\"Add\" %>
using System;
using System.Web.Services;
abstract public class MathService : WebService
{
 [WebMethod]
 abstract public float CalculateTotal(float a, float b);
}
public class Add : MathService
{
 [WebMethod]
 override public float CalculateTotal(float a, float b)
 {
  return a + b;
 }
}
public class Subtract : MathService
{
 [WebMethod]
 override public float CalculateTotal(float a, float b)
 {
  return a - b;
 }
}
public class Multiply : MathService
{
 [WebMethod]
 override public float CalculateTotal(float a, float b)
 {
  return a * b;
 }
}
public class Divide : MathService
{
 [WebMethod]
 override public float CalculateTotal(float a, float b)
 {
  if (b==0)
   return -1;
  else
   return a / b;
 }
}
[Visual Basic]
<%@ WebService Language=\"VB\" Class=\"Add\" %>
Imports System
Imports System.Web.Services
MustInherit Public Class MathService : Inherits WebService
<WebMethod> _
Public MustOverride Function CalculateTotal(a As Single, _
b As Single) As Single
End Class
Public Class Add : Inherits MathService
<WebMethod> Public Overrides Function CalculateTotal(a As Single, b As Single) As Single
Return a + b
End Function
End Class
Public Class Subtract : Inherits MathService
<WebMethod> Public Overrides Function CalculateTotal(a As Single, b As Single) As Single
Return a - b
End Function
End Class
Public Class Multiply : Inherits MathService
<WebMethod> Public Overrides Function CalculateTotal(a As Single, b As Single) As Single
Return a * b
End Function
End Class
Public Class Divide : Inherits MathService
<WebMethod> Public Overrides Function CalculateTotal(a As Single, b As Single) As Single
 If b = 0 Then
  Return - 1
 Else
  Return a / b
 End If
End Function
End Class


返回类别: 教程
上一教程: Web Services的魅力
下一教程: Net:解读微软互联网新战略(上)

您可以阅读与"ASP.NET创建XML Web服务全接触(7)"相关的教程:
· ASP.NET创建XML Web服务全接触(2)
· ASP.NET创建XML Web服务全接触(8)
· ASP.NET创建XML Web服务全接触(12)
· ASP.NET创建XML Web服务全接触(14)
· ASP.NET创建XML Web服务全接触(13)
    微笑服务 优质保证 索取样品