第一个WebService案例

Web服务概述

      Internet正在向下一Web站点快速演进,今天的Web站点仅能为浏览器提供用户界面,而下一代可编程Web站点直接将企业、应用程序、服务和设备彼此链接。这些可骗程Web站点将不只是被动访问的站点,而将成为可重用的智能Web服务。

      Web服务是可以通过网络远程访问类的属性和方法。先在IIS或其他Web服务器上部署和发布的一个远程对象实体,浏览器或其他分布式应用的客户端可以通过Web服务接入文件(扩展名.asmx)访问该远程对象的属性和方法。

下面就来建立Hello World的Web服务。

1.打开VS2008,文件->新建->网站,选择ASP.NET Web 服务,确定。

打开之后就可以看到Service.cs文件的代码如下:

using System;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
// [System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
{
public Service () {

//如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}

[WebMethod]
public string HelloWorld() {
return "Hello World";
}

}

在所有可以作为服务访问的方法前面加上特性[WebMethod]。

2.这就是微软给我们演示的最简单的一个WebService例子,运行它,显示如下:

3.Service.asmx向外展现了一个方法:HelloWorld。点击HelloWorld链接,便可通过浏览器调用这一方法,如下图所示:

4.再点击“调用”按钮就会得到返回的结果,结果是以XML文档的格式返回的,如下图:

在使用Web服务之前,并不对Web服务文件编译,就像一个ASP.NET页面一样。但是如果不想别人查看Web服务的源代码,可以预编译Web服务。直接用命令行方式将Service.cs编译为Service.dll。

打开Visual Studio 2008 命令提示,输入如下:

csc /t:library /r:System.dll,System.Web.Services.dll d:\WebSite1\Service.cs

想了解更多有关命令行编译知识可以参与本博客的开发工具分类里的一篇文章(VS 命令行编译C#项目),生成的dll应该在下面这个目录里:

C:\Program Files\Microsoft Visual Studio 9.0\VC

其中引用了System.dll和System.Web.Services.dll程序集。在ASP.NET程序目录下创建Bin文件夹,将Service.dll文件拷贝到Bin文件夹。运行与未编译效果一样。

原文地址:https://www.cnblogs.com/xiaocai0923/p/2271530.html