• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

ASP.NET Web Service (2)

发布: 2007-6-30 18:56 | 作者: admin | 来源: | 查看: 15次 | 进入软件测试论坛讨论

领测软件测试网      从客户端进行访问:
  
    除了允许开发者使用的创建Web Services的技术以外,Microsoft的.net框架给客户端提供了一套访问并使用Web Services的精致且高深的工具和代码。由于Web Services是基于如简单对象访问协议SOAP(Simple Object Access Protocol)和HTTP这样的开放协议标准的,从而,我们就可以使用这种客户端技术使用非ASP.NET的Web Services。当然,这也需用高水平地合成ASP.NET Web Services和这种客户端技术。
  
    SDK中有一个工具叫做WebServiceUtil.exe,我们可以使用它来下载一个Web Services的SDL描述语言,并创建表达这个Service的代理类。比如,当我们输入以下命令,就可以创建一个叫做HelloWorld.cs的代理类:
  
     WebServiceUtil /c:proxy /pa:http://someDomain.com/someFolder/HelloWorld.asmx?SDL 
  
    这个类看起来与前面创建的类非常相似。它包含一个方法SayHelloWorld,该方法返回一个字符串。将这个代理类编译到一个应用程序中,然后调用这个代理类的方法,结果就是:通过HTTP,这个代理类包装SOAP请求,然后接收SOAP编码响应,最后汇集成为一个字符串。
  
    请看关于Web Service的一个客户端例程:
  
  
    客户端访问的文件:clint.aspx,内容如下:
  
  
  <%@ Import Namespace="DataTypesService" %>
  
  <html>
  <style>
  div
  {
  font: 8pt verdana;
  background-color:cccccc;
  border-color:black;
  border-width:1;
  border-style:solid;
  padding:10,10,10,10;
  }
  
  </style>
  
  <script language="VB" runat="server">
  
  Public Sub Page_Load(Sender As Object, E As EventArgs)
  
  Dim D As DataTypes = New DataTypes()
  Message1.InnerHtml = D.SayHello()
  Message1.InnerHtml = Message1.InnerHtml & D.SayHelloName("Bob")
  Message3.InnerHtml = Message3.InnerHtml & D.GetMode()
  
  Dim MyIntArray As Integer() = D.GetIntArray()
  Dim MyString As String = "Contents of the Array:<BR>"
  
  For I = 0 To MyIntArray.Length - 1
  MyString = MyString & MyIntArray(I) & "<BR>"
  Next
  
  Message2.InnerHtml = Message2.InnerHtml & MyString
  
  Dim MyOrder As Order = D.GetOrder()
  Message4.InnerHtml = Message4.InnerHtml & "<BR>OrderID: " & MyOrder.OrderID
  Message4.InnerHtml = Message4.InnerHtml & "<BR>Price: " & MyOrder.Price
  
  Dim MyOrders As Order() = D.GetOrders()
  Message5.InnerHtml = Message5.InnerHtml & "<BR>OrderID: " & MyOrders(0).OrderID
  Message5.InnerHtml = Message5.InnerHtml & "<BR>Price: " & MyOrders(0).Price
  
  End Sub
  
  </script>
  
  <body style="font: 10pt verdana">
  <H4>Using DataTypes with Web Services</H4>
  
  <h5>Methods that return a Primitive (String): </h5>
  <div id="Message1" runat="server"/>
  
  <h5>Methods that return an Array of Primitives (Integers): </h5>
  <div id="Message2" runat="server"/>
  
  <h5>Method that returns an Enum: </h5>
  <div id="Message3" runat="server"/>
  
  <h5>Method that returns a Class/Struct: </h5>
  <div id="Message4" runat="server"/>
  
  <h5>Method that returns an array of Classes/Structs: </h5>
  <div id="Message5" runat="server"/>
  
  </body>
  </html>
  
  
    在客户端程序中,我们使用<%@ Import Namespace="DataTypesService" %>来引入DataTypesService这个我们自定义的名字空间。然后在程序中只是调用了DataTypesService中的方法。
  
  

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网