用C#制作一个Web Service

来源:互联网 发布:淘宝c店为什么运营难 编辑:程序博客网 时间:2024/04/29 14:08

下面,我们看看如何建立和部署一个最简单的web服务

建立web服务

1.在网站目录下建立一个叫做webServer的目录。

2.建立下面这样一个文件:
<%@ WebService Language="C#" Class="tWebService" %>
using System;
using System.Web.Services;
public class tWebService : WebService
{
    [WebMethod]
    public double Add(double x, double y)
    {
        return x + y;
    }
    [WebMethod]
    public double Subtract(double x, double y)
    {
        return x - y;
    }
    public double Multply(double x, double y)
    {
        return x * y;
    }
}

3.将这个文件保存为WebService.asmx(asmx是扩展名),保存到webServer的目录中

4.现在我们建立了web服务,已经准备好客户端使用

在客户机上部署这个服务

1.在命令行输入:
wsdl http://ip地址/webServer/WebService.asmx /n:namesp /out:tWebService.cs
这个操作将建立一个称为tWebService.cs的文件

说明:wsdl 指的是webservices description language ,这个程序(VS2008)在 盘:/Program Files/Microsoft SDKs/Windows/v6.0A/bin 目录中。

namesp是我们设置的名字空间的名字,将在后面部署这个服务的客户端的实现代码中使用到。

2.编译
新建csc2.bat文件加上如下代码
@echo off
盘:/Windows/Microsoft.NET/Framework/v3.5/csc.exe /t:library /r:system.web.dll /r:system.xml.dll tWebService.cs
pause

上述命令将生成一个dll文件,名字就是上面的asmx文件中的公共类的名字,在我们的例子中,就是:tWebService.dll

3.将生成的dll文件放到部署机的网站目录下的bin目录中。

在部署机的asp/aspx 中调用这个web服务

 

1.先添加该web服务如下图:

 

点击确定后,会在相应添加上Service References文件夹和Service References/ServiceReference1文件夹和一些文件。

 

调用

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace HelloWorld
{
    class Cs_Hello
    {
        static void Main(string[] args)
        {
            string sWait;
            ServiceReference1.tWebServiceSoapClient webservice = new HelloWorld.ServiceReference1.tWebServiceSoapClient();

            Console.WriteLine(webservice.Add(1.5, 2));
            sWait = Console.ReadLine();
        }
    }
}

输出: