Web Service-使用

作者:vkvi 来源:ITPOW(原创) 日期:2007-12-9

(在现在的版本中,通过在解决方案上右键,选择 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 文件:

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 使用之

相关文章