微软在其.Net战略中,对其主推的Web服务做了大肆的宣扬。现在,Web服务正如火如荼地发展着,相关的各项新技术层出不穷。Web服务的发展正构筑着互联网时代美好的明天。在本文中,我将向大家介绍Web服务的一些基本知识以及如何用Visual C#一步一步地创建一个简单的Web服务。
一.Web服务概述: Web服务是一种新的Web应用程序分支,它们是自包含、自描述、模块化的应用,可以发布、定位、通过Web调用。Web服务可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web服务应用程序可以发现并调用它部署的服务。Web服务可以把业务逻辑划分一个一个的组件,然后在整个因特网的范围上执行其功能。所以,它是构造分布式、模块化应用程序的最新技术发展趋势。
二.为什么需要Web服务? 以前,分布式的应用程序逻辑需要使用分布式的对象模型,通过使用DCOM、CORBA、RMI之类的基本结构,开发人员仍可拥有使用本地模型所提供的丰富资源和精确性,并可将服务置于远程系统中。
当已经有中意的中间件平台(RMI、Jini、CORBA、DCOM 等等)时,我们为什么还要为Web而烦恼呢?中间件确实提供了强大的服务实现手段,但是,这些系统有一个共同的缺陷,那就是它们无法扩展到互联网上:它们要求服务客户端与系统提供的服务本身之间必须进行紧密耦合,即要求一个同类基本结构。然而这样的系统往往十分脆弱:如果一端的执行机制发生变化,那么另一端便会崩溃。例如,如果服务器应用程序的接口发生更改,那么客户端便会崩溃。为了能扩展到互联网运用,我们需要一种松散偶合的基本结构来解决这个问题。如此的情况下就迎来了Web服务的诞生。
三.开发环境: 1.Windows 2000 Server操作系统或Windows XP操作系统;
2..Net Framework以及Visual Studio.net开发工具。
四.创建Web服务工程: 我在这里向大家介绍一个美元到人民币转换的Web服务实例,该实例完成的功能相当简单,从名字我们就能知道其中的功能。但是这也是一个非常不错的例子,特别对于初学者,能起到很好的指导作用。在创建Web服务过程中,我们用到的是C#语言。下面就是具体的项目步骤了。
首先,打开VS.net,新建一个项目,在左边的面板中选择“Visual C#项目”,右边的面板中选择“ASP.NET Web服务”,并命名为“WebService1”,图示如下:
图1 按下“确定”按钮后,VS.net就开始帮你新建该项目,期间还可能会出现一个用来显示Internet连接的对话框。在新建完项目后,在开发工具中会出现如下所示的界面:
图2 因为我们要实现的是一个非常简单的Web服务,所以我们需要的功能和我们的代码量都很小,于是就不必去考虑上图中的“服务器资源管理器”和“工具箱”两个超链接,而可以直接点击上图中的“此处”链接进行代码编辑,点击后会打开代码编辑框,图示如下:
图3 在上面的代码编辑框中,我们先把原有的“Hello World”Web服务的示例代码去掉,替换成我们的代码,最终如下:
using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Web; using System.Web.Services; namespace WebService1 { /// /// Service1 的摘要说明。 /// public class Service1 : System.Web.Services.WebService { public Service1() { //CODEGEN:该调用是 ASP.NET Web 服务设计器所必需的 InitializeComponent(); } #region Component Designer generated code //Web 服务设计器所必需的 private IContainer components = null; /// /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// private void InitializeComponent() { } /// /// 清理所有正在使用的资源。 /// protected override void Dispose( bool disposing ) { if(disposing && components != null) { components.Dispose(); } base.Dispose(disposing); } #endregion // WEB 服务 // DollarConvertToRMB() 服务完成美元到人民币的转换 // 若要测试此 Web 服务,请按 F5 键 [WebMethod] public double DollarConvertToRMB(double Dollar) { return ( Dollar * 8.15); }
免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
SqlParameter有关问题,小初学者
求高手window.event.returnValue弹出框有关问题
分数全部送来了后台怎么得到前台输入框的值?
在GridView中显示进度条的有关问题
字符串,那位朋友解释一下,该如何解决
NHibernate不抛出错误有关问题
文本框內容安全問題,该怎么解决
页面中不使用控件怎么显示数据库中数据
{ 100分 } ,特性(Attributes)在Asp.net项目中的实际例子。好了立即给分
关于ASP.net中的会话状态有关问题,有请高人
帮朋友问的1500元请人做网站,能做到什么程度?解决思路
本人求一网站设计文档,(后台动态设计前台页面,可以拖动生成)解决方案
求企业黄页自助建站系统,该如何解决
对于窗口的关闭
windows 2008 日期格式有关问题
为什么在DataList 中加入例如CheckBox 不能数据绑定呢,该如何解决
求救,怎么生成柱状图,拆线图等统计图
图片不能展示
da.Fill(ds, startRecord, maxRecords, "table"); 工作原理解决办法
SQl和Orcale查询时间有关问题