首页 > 编程 > .NET > 正文

创建.NET Web服务(转)

2024-07-10 13:01:46
字体:
来源:转载
供稿:网友
web服务是构造分布式、模块化应用程序的最新技术发展趋势。web服务可以把业务逻辑划分一个一个的组件,然后在整个因特网的范围上执行其功能。本文就是向读者展示一个简单的.net web服务创建过程。

假如你过去曾经构造过微软世界的com组件,那么你对创造可重用对象中间层的概念应该是比较熟悉了,正是可重用对象可以让开发者重用代码、利用由此带来的软件开发灵活性。这些组件能作为客户应用程序放在同一计算机上执行,或者以dcom的形式在分离的机器上执行。

现在的.net体系则把以上的概念大大推进了一步,.net允许你把组件放在远程计算机上,而且你同这些远程计算机之间仅存在http连接;换句话说,这些远程机器可能并不在企业网络内。由于soap协议的出现,dcom的二进制标准也被基于文本和xml的调用语法代替了,新的技术标准允许客户采用任何操作系统调用web服务,而这些web服务则运行在任何操作系统上。

用.net打造web服务
微软早在大约两年前就发布了针对visual basic 6的soap工具包,但是,.net出现后则进一步把构造web服务的任务变得更方便了。对web服务的支持已经内置在了.net基础框架之内,这意味着任何.net语言都能创建web服务。web服务甚至成为了visual studio.net中的一种工程类型。就象大多数.net工程类型一样,你甚至能采用记事本这样的文本编辑程序创建全部应用程序。

为了创建web服务,你的开发计算机上至少需要安装了asp.net引擎。这种引擎属于.net框架和visual studio.net的一部分。如果你手头没有asp.net引擎,那么你不妨从asp.net网站下载asp.net。下载软件只能在windows 2000和windows xp上使用。安装了asp.net之后,你要不创建一个虚拟目录要不直接在inetpub/wwwroot目录下创建自己的文件,我举的例子就用后面的方法。

最近看过伦敦一家公司的网站,他们网页上的价格单位是英磅。页面上有一个转换工具允许你把英镑换算为美元。这个转换工具就是一个绝佳的web服务实例。现在就请打开记事本程序准备创建xml web服务吧。

创建web服务的第一步是标识web服务、说明服务使用的语言同时创建的类的名字。在这个例子中,采用的web服务编程语言是visual basic.net,类的名字是convertmoney。你的第一行代码如下所示:

<%@ webservice language=”vb” class=”convertmoney” %>


接着,采用imports声明导入system.web.services名称空间。这样做才能让你按照名字索引webservice等类而无须索引整个名称空间。该行代码如下所示:
imports system.web.services

然后创建web服务自身的shell。webservice类在你自己的类的名字前加上前缀,代码如下:


<webservice()>public class convertmoney
‘ code will go here
end class


到这一步几乎就可以增加类的功能了,但是你还得先增加一行关键代码。你必须继承webservice基类,这是.net框架的一部分。这样做所实现的功能令你的服务类可以被任何internet客户调用。增加inherits声明之后,所有的代码如下所示。


<%@ webservice language=”vb” class=”convertmoney” %>
imports system.web.services
<webservice()>public class convertmoney
   inherits webservice
   ‘ code will go here
end class
现在就可以给你的类添加功能了。在这里,你创建了一个简单函数接受英镑的货币量然后返回美元值。通常,你还应该在数据库内找到两种货币之间的交换汇率。在上面的例子里,你在代码中直接把汇率设定为1英镑可兑换1.44美元。在以上代码块中增加代码之后全部web服务代码如下所示。
<%@ webservice language=”vb” class=”convertmoney” %>
  imports system.web.services
  <webservice()>public class convertmoney
    inherits webservice
  <webmethod()>public function _
    poundstodollars(britishpounds as double) as double
    return britishpounds * 1.44
  end function
end class

代码编写完毕,你把代码文件存放在某个虚拟目录下(通常是c:/inetpub/wwwroot)即可。把文件保存为converter.asmx。asmx文件扩展名是.net web服务的标记。保存文件之后,你的web服务就准备露脸了。

商业源码热门下载www.html.org.cn

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表