(在现在的版本中,通过在解决方案上右键,选择 Add Web Reference,输入 Web Service 地址,即可直接使用该 Web Service。请参见 Add Web Reference 与 Add Service Reference 的使用区别。)
前面创建了一个简单的 Web Service,但如何使用它呢?
首先创建一个 Web Service,代码如下:
<%@ WebService Language="C#" Class="WebService" %>
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class WebService : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld(string userName)
{
return "Hello World" + userName;
}
}
我们在访问 Web Service 网页时,添加上参数 WSDL,比如下例地址:
http://localhost:1652/WebSite2/WebService.asmx?WSDL
可以得到一个 XML 文件:

我们现在要把这个 XML 文件生成 .cs 文件
使用 WSDL 文件,该文件是 .NET Framework SDK 的一部分,通常位于类似于
C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin
的地方。在命令提示符中使用类似如下的命令生成 .cs 文件:
C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin>wsdl http://localhost:1652/WebSite2/WebService.asmx?WSDL /language:C# /namespace:cftea /out:D:\WebService.cs
language 指定语言,namespace 指定名称空间,out 指定输出位置。
然后将这个 .cs 文件交给另一个服务器端的程序员,另一个服务器端的程序员就可以根据这个 .cs 文件来创建对本 Web Service 的调用,将 .cs 文件放在 App_Code 下。
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using cftea;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
WebService ws = new WebService();
lbl.Text = ws.HelloWorld("ITPOW");
}
}
预览,我们就可以看到经过 Web Service 处理后返回的结果了。
说明:我们也可以将 .cs 文件编译成 dll,再将 dll 放在 bin 目录下。请参见 将 CS 编译成 DLL,并利用 Namespace 使用之。