`
isiqi
  • 浏览: 16467419 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

一步一步用Visual C#创建Web服务

阅读更多
引言:

  微软在其.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
{
/// <summary><br>/// Service1 的摘要说明。<br>/// </summary>
public class Service1 : System.Web.Services.WebService
{
public Service1()
{
//CODEGEN:该调用是 ASP.NET Web 服务设计器所必需的
InitializeComponent();
}

#region Component Designer generated code

//Web 服务设计器所必需的
private IContainer components = null;

/// <summary><br>/// 设计器支持所需的方法 - 不要使用代码编辑器修改<br>/// 此方法的内容。<br>/// </summary>
private void InitializeComponent()
{
}

/// <summary><br>/// 清理所有正在使用的资源。<br>/// </summary>
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);
}
}
}

  在上面的方法DollarConvertToRMB()中,我们返回的是一个double类型的值――Dollar*8.15,其中的8.15我想是不言而喻的(就是美元到人民币的汇率)。不过现实的汇率是不固定的,而且每天都要变动,所以要根据当天实际的汇率来计算,那么我们就要连接到数据库获得最新的信息了。不过,这里作为一个简单实例,我们当然不需要搞得那么复杂,所以在这里我就姑且假定汇率为1:8.15。

  同时,我们还需要注意,在该Web服务的代码中我们用到了using System.Web、using System.Web.Services等名字空间,作为Web服务开发,这些名字空间是显然不能缺的,没有了这些,我们就不能调用.Net框架为我们提供的开发Web服务所必须的方法和函数等,所以一定不能忘掉。

  到此为止,代码编写已经完毕,然后把代码文件存放在某个虚拟目录下(通常是C:\Inetpub\wwwroot\WebService1)即可。把文件保存为Service1.asmx。Asmx文件扩展名是.NET Web服务的标记。保存文件之后,你的Web服务就准备露脸了。

五.测试Web服务:

现在准备好测试Web服务。期间你不必通过显式的编译全过程,只需要地在目录下保存文件然后调用它即可。为了调用最新创建的服务,请打开你的浏览器并输入服务路径,包括Asmx文件的名字。如果你把服务放了在C:\Inetpub\wwwroot\WebService1目录下,那么你要在浏览器地址栏上键入http://localhost/WebService1/Service1.asmx。(当然,在你使用VS.net开发时,你也可以通过Ctrl+F5直接进行Web服务的测试。)

  在调用服务时会显示一幅包含大量信息的网页。一开始这可能会令你觉得有点糊涂:不管怎么说,你还没有为这种服务创造过HTML网页。其实,你根本不必创建测试网页,因为.NET框架已经帮你这个忙了。当你直接通过浏览器调用Web服务时,框架就会为你产生一个网页并通过它向你显示Web服务的信息,同时列出所有可用的方法。下图即是Web服务的网页。



图4

在这个例子中列出的方法没什么特别之处,因为仅有一个方法(DollarConvertToRMB)。鼠标点击这个方法会显示另一个网页,如图5所示。这一页就是该特定方法的测试页,其中包括对应方法接受的每个参数的文本框。现在请在文本框中输入“10”并按下“调用”按钮。



图5

单击“调用”按钮会打开一个新的浏览器窗口,其中显示了一些XML代码。这些XML代码是由该Web服务返回的,其中包括了服务的结果。返回的XML代码如下图所示:



图6

  返回的结果是一些XML代码,可能用户界面显得不那么友好,但是这些结果确实不一定非要采取对用户友好的格式,因为你通常不会从浏览器直接调用Web服务。相反,你往往从应用程序调用Web服务同时适当地处理返回的XML代码。不过,也很容易从上面的代码看出Web服务已经把10美元转换成了81.5人民币了。

六.总结:

  上面举的这个例子很简单,它完成的任务是:创建一个组件,如果组件放在Web服务器上就可以被世界上任何地方的任何人访问。客户不必装载COM 或DCOM;甚至也不必拥有Windows客户程序。任何能创建HTTP连接的客户程序都能调用Web服务并且收到结果。这种功能开辟了创建分布式应用程序、实现平台之间互操作的全新领域。同时,我们也不难发现用VS.net开发Web服务是一件相当容易的事。有兴趣的读者可以试着开发出功能更强大的Web服务并将它赋予实际应用之中。

分享到:
评论

相关推荐

    一步一步用Visual_C_创建Web服务

    在Visual Studio .NET中,创建Web服务项目涉及以下步骤: - 打开Visual Studio .NET,选择"Visual C#项目",然后选择"ASP.NET Web服务"。 - 输入项目名称(例如:WebService1),然后点击"确定"。 - 删除默认的...

    win10下 VS2019 C#创建web项目并发布部署在iis

    1. **创建Web项目**: - 打开VS2019,选择"创建新项目"。 - 在项目模板中,找到"ASP.NET Web 应用程序(.NET Framework)",点击下一步。 - 输入项目名称,例如"WebApplication5",选择存储位置,然后点击创建。 -...

    C#Web应用程序入门经典_程序设计

    在Web开发领域,C#常与ASP.NET框架结合使用,创建服务器端的Web应用程序。 接下来,Web应用程序是指运行在Web服务器上,通过HTTP协议与客户端(如浏览器)进行交互的应用。C# Web应用程序开发涉及到的知识点包括: ...

    在Visual Studio中创建WPS外接程序插件

    1. **项目创建**:在Visual Studio中,选择"新建项目",然后在模板列表中找到"Visual C#"或"Visual Basic"下的"Office/SharePoint"类别。在这里,你可以找到"Office 加载项"模板,这将为你创建一个基本的外接程序...

    最详细的C#创建webservice和调用webservice方法的实例,一看就懂,一步一步教你认识和使用webservice

    本文将深入讲解如何使用C#创建和调用Web服务,帮助你从零开始了解并熟练掌握这一技术。 一、Web服务基础 Web服务基于开放标准,如SOAP(Simple Object Access Protocol)和WSDL(Web Services Description Language...

    c#快捷键大全(Visual C# 全局快捷键大全)

    【C#快捷键大全(Visual C# 2005 全局快捷键大全)】 在Visual C# 2005中,快捷键是一种高效的工作方式,它可以帮助程序员快速执行各种常见操作,提高开发效率。以下是一些关键的全局快捷键: 1. 关系图.属性:Alt +...

    Visual C# 案例开发集锦35

    在IT领域,Visual C#是一种基于.NET Framework的编程语言,由微软公司开发,主要用于构建Windows桌面应用程序、Web应用以及移动应用等。对于初学者来说,掌握Visual C#的基础语法和特性是迈向专业开发者的重要一步。...

    C# Webservice返回指定的xml格式

    本篇文章将深入探讨如何使用C#和Visual Studio 2019(VS2019)来创建一个WebService,使其能够返回指定的XML格式。XML(eXtensible Markup Language)是一种自定义标记语言,广泛用于数据交换、存储和结构化信息表示...

    c#创建.net下的webservice示例

    本文将通过一个具体的示例来展示如何使用 C# 和 .NET 框架创建一个简单的 Web Service。 ##### 所需工具 - **.NET Framework SDK**:这是创建 Web Service 的基础工具包。 - **Visual Studio .NET**:虽然不是必需...

    C#打包--如何用VS2005制作Web安装程序

    ### 如何使用Visual Studio 2005创建Web安装程序 在进行Web应用程序开发时,完成项目的最后一步往往是部署到生产环境中。对于使用C#语言和Visual Studio 2005开发的应用程序而言,制作一个方便快捷的安装程序至关...

    C#搭建一个简单的WebAPI项目(SQLServer+IIS)

    总结来说,这个教程涵盖了使用C#创建一个基于SQL Server和IIS的WebAPI项目的基本步骤,包括项目创建、数据库配置、控制器编写以及IIS部署。通过这些步骤,你可以创建一个基本的RESTful服务,用于处理客户端的数据...

    C# Web 安装项目

    接下来,我们需要创建Web安装项目。在Visual Studio的菜单中,选择“文件”-&gt;“新建”-&gt;“项目”。在弹出的对话框中,导航到“其他项目类型”-&gt;“安装和部署”类别,然后选择“Web安装项目”。给项目命名,并将其...

    使用C#开发你的第一个ASP.NET Web API

    *** Web API允许开发者使用C#(一种编程语言)和.NET Framework(一个由微软开发的软件框架)来创建Web API。Web API是一种可以让开发者创建能够通过HTTP进行通信的服务的技术。开发者可以使用Web API创建RESTful...

    C#入门经典(第四版)第19章 web编程基础

    在《C#入门经典(第四版)》的第19章中,作者介绍了Web编程的基础知识,这对于初学者来说是十分重要的一步。Web编程涉及到通过网络向用户提供动态网页内容的技术。本章节首先对Web编程进行了一个简要的介绍,为读者...

    visual web developer教程 v1.0.zip

    教程首先会介绍Visual Web Developer的界面布局和基本操作,包括创建新项目、管理解决方案以及设置项目属性。这一步对于新用户来说至关重要,因为它将帮助他们熟悉工作环境,为后续的学习打下基础。 接下来,教程会...

    双人对下五子棋游戏(带c#源码)

    C#是一种面向对象的编程语言,由微软公司开发,常用于构建Windows桌面应用、Web应用以及游戏开发等领域。 一、C#基础知识 C#作为.NET框架的一部分,具有丰富的类库和强大的功能。其语法简洁明了,支持面向对象编程...

    一步一步学Silverlight 2系列

    Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, Ironpython,对JSON、Web Service、WCF以及Sockets的支持等一系列新的特性。...

    Web service应用实例

    在Visual Studio 2008中创建一个新的ASP.NET Web服务项目,选择C#作为开发语言。接下来,定义一个服务类,通常继承自`System.Web.Services.WebService`。在该类中,可以定义多个带有`[WebMethod]`属性的方法,这些...

    手把手教你用C#打包应用程序

    总结,使用C#和.NET Framework打包应用程序涉及多个步骤,从创建项目、配置属性到发布和打包,每一步都至关重要。通过学习这些知识,开发者不仅可以创建出功能完备的应用,还能确保其易于安装和使用,提升用户体验。

Global site tag (gtag.js) - Google Analytics