webservice编写和使用

来源:互联网 发布:qq飞车青峰剃刀数据 编辑:程序博客网 时间:2024/06/05 15:47

初学webservice, 看到了很多的概念性的东西,云里雾里,因此决定先自己构筑一个webservice,然后在此基础上慢慢的剖析。

 

在网上查了很多资料,似乎对于原理说的很多,但是在vs2008 + iis 下如何实际的构筑一个实例,说的不是很多。

 

在此,将构筑实例的一些步骤,拿出来与大家分享。

 

在这里,我们只谈构筑方法,原理,概念一概不谈。 以后有时间再慢慢的深究。

 

让我们开始愉快的旅程吧。

 

1,准备工作

    1.1 安装IIS, IIS的安装方法自行上网搜索,这里提供一个链接。 如果此链接哪天被关掉了,请大家自行再去寻找。

         http://www.gnway.com/service/knowledge/know_content/162.htm

 

    1.2 安装好IIS之后, 不急忙配置IIS, 先在 C:/Inetpub/wwwroot 下面建一个用来发布 webservice的空文件夹,文件夹名随便起, 比如我起名叫 mysvrsite。

          注:  C:/Inetpub/wwwroot 是IIS的默认路径。

 

    1.3 选择, 开始->程序->管理工具->Internet服务管理器, 来配置IIS。 

          点开 website->defalut web site, 然后鼠标放在 1.2做成的用开发布webservice的文件夹 上面, 右键,点击 属性,

          什么都不用改,直接点 OK 按钮就可以了。 这时候你可以看到,用来发布webservice的文件夹的小icon变成了一个打开的小盒子的样子。 也就是说你现在已经建成了一个用来发布webservice的虚拟目录,它的名字叫mysvrsite,这个虚拟目录对应的实际文件夹就是 1.2做成的文件夹。

 

2,打开vs2008, 文件 -> 新建-> 项目, 然后选择 web -> ASP.net service application

    然后输入项目名称,场所等, 假设项目名称我输入的是 WebService1,点击OK按钮之后,就会生成一个名叫 WebService1的项目。

    主要有 Servics1.asmx,Web.config,App_Data 等文件。

    servics1.asmx前面的加号点开,可以看到Servics1.asmx.cs 文件。

    关于  Servics1.asmx 文件和Servics1.asmx.cs 的关系,一看就明白了,在此不做累赘。

 

    Servics1.asmx.cs 打开之后,你会发现里面自动的被生成了一个 HelloWorld 的webservice, 由于本文主要只是说明如何配置webservice,那就利用这个helloword 来给大家做讲解。

 

 

3, 编译WebService1项目。 具体方法,vs2008的工具栏,选择 bulid, 然后选择 bulid WebService1。

 

4, 发布Webservice1项目。

     还记得1.3 做成的虚拟目录吧? 对,我们现在就是要把WebService1发布到这个虚拟目录下面去。

     操作也很简单,vs2008的工具栏,选择bulid,然后选择 发布 WebService1。

     这时,会弹出一个对话框,让你选择目标场所。 请把场所指定为1.2做成的文件夹上。 从webservice发布的角度来说,也就是这个时候你已经把Webservice1项目发布到IIS的虚拟目录上去了。

 

5, 验证一下是否发布成功。

     比较简单。 打开浏览器输入 http://机器名或IP地址/mysvrsite/Servics1.asmx     (注意,只要可以进行http访问的任意机器都可以)

     如果网页被正常打开,并且看到了 helloword 被正确的support就可以了。

 

至此为止, webservice被发布成功。 接下来就是如何编写客户端程序,如何连接这个webservice了。

 

6. 打开vs2008, 文件 -> 新建-> 项目, 然后选择 winsows-> WindowsFormsApplication

    后输入项目名称,场所等, 假设项目名称我输入的是 TestClient。点击OK按钮之后,就会生成一个名叫 TestClient的项目。 里面的文件构成就不用我啰嗦了吧,都是最近本的windows form的一些文件。

 

7,引用上面4发布的webservice, 具体操作。

    鼠标右键点 TestClient项目,然后选择追加service参照,此时会弹出一个对话框,让你输入你所要引用的webservice的地址。

    当然,我们毫不犹豫的填上 http://机器名或IP地址/mysvrsite/Servics1.asmx, 然后点一下右边的 "移动" 按钮,选择service,重命名命名空间.比如叫 ServiceReference1, 点OK.

   这个时候,你可以看到TestClient项目下面多了一个 Service References的目录,点开它你就看到了刚才做的

ServiceReference1。

 

8, 最后一步。在你的TestClient项目下面的Form1.cs 文件里面使用。

    随便找个事件,把下面的代码插入进去。

 

    ServiceReference1.Servics1SoapClient obj = new ServiceReference1.Servics1SoapClient();
    MessageBox.Show(obj.HelloWorld() + "is Success");

 

 

好了, 去debug TestClient项目吧。 这个TestClient项目可以放到任何其他机器上哦,只要这个机器能访问webservice就行。

 

有了一个实际的应用,然后慢慢去读代码,解析它吧,相信这样能事半功倍!



原创粉丝点击