web service是一个平*立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的xml标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。
web service是一种可以接收从internet或者internet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。
webservice说明:
假设a是client端,b是webservice服务端,用户通过http协议向服务器发送soap请求,webservice返回客户端xml格式的数据。
客户端由代理对象(proxy)负责与webservice的通信。所以在客户端使用webservice,完全和使用一个本地对象是一样的。
我们现在以一个简单的实例来说明。
一、首先创建webservice工程,以vs2010为例,如果选择.net framework 4,则找不到web服务应用程序,此时选择asp.net空web应用程序。创建好空应用程序后,选择该工程右键添加web服务。
创建好程序后默认会有一个hellworld函数
a) webservice1.asmx文件中的代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
namespace webapplication1
{
[webservice(namespace = "http://tempuri.org/")] // webservice命名空间
[webservicebinding(conformsto = wsiprofiles.basicprofile1_1)]
[system.componentmodel.toolboxitem(false)]
// 若要允许使用 asp.net ajax 从脚本中调用此 web 服务,请取消对下行的注释。
// [system.web.script.services.scriptservice]
public class webservice1 : system.web.services.webservice
{
[webmethod]
public string helloworld()
{
return "hello world";
}
}
}
|
b) 运行程序,如图1所示,列出了服务函数名,点击要调用的函数如图2所示,点击调用后出现图2第二张图所示返回函数值。
图1
图2
二. 发布webservice到iis
打开iis管理器,选择网站->右键添加网站
注:
(1)输入网站名称,应用池选择,选择程序运行需要的.net framework版本
(2)物理路径,选择上面webservice发布的程序的路径
(3)绑定,修改端口,端口不能其他程序使用过
发布完成后访问方式为:http://127.0.0.1:8666/service.asmx 或 http://localhost:8008/service.asmx如果出现下图所示,说明发布成功。
三、asp.net调用web service
首先,打开vs2005,打开"文件-新建-网站",选择"asp.net网站"。
然后先添加web引用,把webservice引到当前的工程里面。方法是:在资源管理器中点击右键,选择添加web 引用,调出对话框:
在url中填入,前面写好的webservice运行后浏览器上面显示的地址(即:webservice发布后的访问地址 ),点击"前往"按钮,如上图,就会显示出所引用的webservice中可以调用的方法,然后点击"添加引用",就将webservice引用到了当前的工程里面 ,如下图,解决方案中会出现引进来的webservice文件
然后在后台写调用的代码,调用之前和使用其它的对象一样,
要先实例化,实例化的方法是
1
|
localhost.servicesoapclient service = new localhost.servicesoapclient();
|
然后就可以通过service来访问webservice里面提供的方法了。
在运行该程序调用的时候,webservice程序还必须启动,否则会报无法连接远程服务器的异常。
这样webservice的简单创建、发布、调用就完成了,图片来自网络,懒得去截图了。。。
以上这篇c# webservice创建、发布、调用的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://www.cnblogs.com/johnblogs/p/6144818.html