C# 创建WebServices及调用方法

发布WebServices

1、创建  ASP.NET Web 服务应用程序 SayHelloWebServices

 

这里需要说明一下,由于.NET Framework4.0取消了WebServices的创建,所以目标框架只有你选择了2.0才能看见创建“ASP.NET Web 服务应用程序”条目。

2、创建好之后,系统自带的一个HelloWorld()方法

 

using System;

using System.Collections.Generic;

using System.Web;

using System.Web.Services;

 

namespace SayHelloWebServices

{

    /// <summary>

    /// Service1 的摘要说明

    /// </summary>

    [WebService(Namespace = "http://tempuri.org/")]

    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

    [System.ComponentModel.ToolboxItem(false)]

    public class Service1 : System.Web.Services.WebService

    {

        [WebMethod]

        public string HelloWorld()

        {

            return "Hello World";

        }

    }

}

这里注意方法前面有 [WebMethod] 声明,如果想增加方法,一定要加上这个。

using System;

using System.Collections.Generic;

using System.Web;

using System.Web.Services;

 

namespace SayHelloWebServices

{

    /// <summary>

    /// Service1 的Ì?摘a要°a说¦Ì明¡Â

    /// </summary>

    [WebService(Namespace = "http://tempuri.org/")]

    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

    [System.ComponentModel.ToolboxItem(false)]

    public class Service1 : System.Web.Services.WebService

    {

        [WebMethod]

        public string HelloWorld()

        {

            return "Hello World";

        }

        [WebMethod]

        public string HelloWorld1()

        {

            return "Hello World";

        }

    }

}

3、发布服务,项目右键——发布

 

如下图进行配置,选择文件系统,目标位置是你想要发布到什么地方,这里我选择E:Web

 

 

4、配置完成之后,点击发布。

5、接下来配置IIS服务器,WIN7参考http://www.jb51.net/article/29787.htm,XP自己到网上找找方法,也很简单。

6、IIS服务器配置好,添加网站

 

如下配置,名称随便输,物理路径就是上面选择发布的路径,主机名是本机就写localhost,点击确定

 

还有就是配置目录浏览—属性—启用,不然看不到WebServices服务

 

 

如果网站没启动,在右边栏启动

 

7、启动之后,点击浏览localhost on *:80(http),就可以看到写到项目了。

 

 

到此,就算真正发布成功了。

可能会碰到的问题(我碰到的问题,都在文章后面总结了一下,如果你们也碰到了,那就太巧了,还有不可预料的问题就自己Google,baidu吧)

调用WebServices

1、  建立一个控制台应用程序SayHelloByWebServices,来测试一下

 

首先添加Web引用

 

这里选择本地计算机上的Web服务

 

选择Services1

 

出现了我们写的两个方法,起个Web引用名(这里我用默认的),点击添加引用

 

项目中就可以看到这条服务了

 

2、  调用Program.cs代码:

using System;

using System.Collections.Generic;

using System.Text;

 

namespace SayHelloByWebServices

{

    class Program

    {

        static void Main(string[] args)

        {

            localhost.Service1 services = new localhost.Service1();

            Console.WriteLine(services.HelloWorld());

            Console.WriteLine(services.HelloWorld1());

        }

    }

}

 

OK,编译,保存,关闭项目,打开项目所在位置

 

双击运行 SayHelloByWebServices.exe (注意第一部分第6步,网站一定要是启用状态)

运行结果:

 

这个搞完还是有点小成就感的,哈,趁着还有感觉,写个随笔记下来,万一以后又不会了呢?

项目中遇到的问题

1、这个我承认比较低级,选择发布的位置刚开始我选择的是项目所在的位置,因为没看清楚提示,还重启电脑…好吧,最后选择的是新位置E:Web文件夹。

 

2、这个错误和上面的是连带错误,我重启了一下,不知怎的提示这个服务停掉了。

 

提示停掉了,那我就给他开启。

 

原文地址:https://www.cnblogs.com/xw-yanger/p/3434297.html