C#调⽤WebService实例和开发
Web Service也叫XML Web Service WebService是⼀种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独⽴的通讯技术。是:通过SOAP在Web上提供的软件服务。
XML Web Service的特点
Web Service的主要⽬标是跨平台的可互操作性。为了实现这⼀⽬标,Web Service 完全基于XML(可扩展标记语⾔)、XSD(XML Schema)等独⽴于平台、独⽴于软件供应商的标准,是创建可互操作的、分布式应⽤程序的新平台。因此使⽤Web Service有许多优点: Web Service开发
平台内建了对Web Service的⽀持,包括Web Service的构建和使⽤。与其它开发平台不同,使⽤平台,你不需要其他的⼯具或者SDK就可以完成Web Service的开发了。 Framework本⾝就全⾯⽀持Web Service,包括服务器端的请求处理器和对客户端发送和接受SOAP消息的⽀持。下来我们就⼀步⼀步的⽤Microsoft Visual Studio 2015(后⾯简称VS.Net 2015)创建和使⽤⼀个简单的Web Service。
1:⾸选建⽴⼀个webservice 服务实例:(如下图)
创建新的ASP.NET,WEB应⽤程序注意下图标识
在创建好新的框架后,选中项⽬节点新添加(web服务asmx)⽂件,添加确定。
如下图⽣成简单的,程序语⾔的⿐祖语⾔“Hello,world”
⽣成后我们直接选中运⾏(如下两图)所⽰,并且设为起始页
效果如下图展⽰:(点击Helloworld)将直接调⽤,页⾯将返回业务所需要的参数数据。
完成以下图所⽰后,我们⼀个简单的webservice调⽤就成功了。接下来我们设计⼀个加减法的调⽤。
在对应的webservice_eg中继续写第⼆个接⼝⽅法,如下代码⽚段简单的业务返回两数字相加之和
[WebMethod (Description ="数字相加之和")]
public int GetSum_Number(int a, int b)
{
return a + b;
}
注意:虽然我们webservice接⼝做的可能很多,但都是照猫画虎类的,并没有真正的了解webservice中有些关键词的含义.
例如:WebMethod 含义?
WebMethod :web服务的命令,指⽰这个⽅法是web服务提供的⽅法,本⾝代表的就是⼀种属性,放在⼀个⽅法前⾯,表明下⾯的⽅法可以访问到该属性⾥的值。
详细WebMethod的⽤法以及提供的属性:可以参考访问以下微软链接
调用webservice服务运⾏后如图展⽰:
如果出现的是上⾯的图⽚展⽰效果说明你的WEBSERVICE运⾏正确,现在记住这个服务地址(即浏览器中的地址),
其实个⼈理解webservice相当于⼀个接⼝,这个接⼝当然是有地址的,往往在开发我们做好的接⼝发送给客户(附带接⼝集成⽂件等),通过客户端调⽤接⼝,在服务器端处理客户的数据再返回给客户。所以这个地址是有⽤的,很显⽰这个WEB服务的地址必须要⼀直开着,如果断掉的话会出现什么情况呢??我们接下来继续在ASP.NET⽹站如何调⽤这个服务呢?
好的⾔归正传,接下来就是后台代码如何调⽤这个WEB服务了。
⾸先我们得有个页⾯通过控件去调⽤(因为业务量有限,没有成熟的返回机制)所以,以界⾯传参的形式调⽤返回数据。
1:新建web窗体页⾯(如下图)
建⽴新的web页⾯如下图
给定butten触发事件后,后台写调⽤上⾯我们写好的相加的⽅法的接⼝:后台调⽤代码如下
注意:各位看注释
这个时候,我们就得调⽤写好的接⼝了,不要担⼼VS⼯具.NET编译器为我们提供了引⽤第三⽅接⼝的公共插件类。如下图我们继续。
1:选中你的项⽬,选择添加web引⽤(服务)功能列
2:在地址栏中写⼊,我们上⾯运⾏的链接地址,然后转到继续,可以发现:服务中到了我们写好的接⼝⽂件,下⾯可以⾃定义引⽤名称。然后确定继续,发现我们引⽤出现在了我们项⽬中如下图:
Ok,当我们成功引⽤进来前台需要调⽤的接⼝⽂件,我们继续开始前阳事件的调⽤⼯作,如下图代码⽚段:
1:我们开始引⽤进来接⼝
///<summary>
///按钮调⽤接⼝事件
///</summary>
///<param name="sender"></param>
///<param name="e"></param>
protected void Button1_Click(object sender, EventArgs e)
{
//这个时候我们发现,我们该怎么调⽤接⼝?
//别担⼼,我们继续往下看⽂档
//在代码中引⽤我们写好接⼝并实例化服务客户端webtest_objectSoapClient aa
ServiceReference.GaofengSoapClient aa = new GaofengSoapClient();
int sum = aa.GetSum_Number(Convert.ToInt32(TextBox1.Text.Trim()), Convert.ToInt32(TextBox2.Text.Trim()));
Label1.Text = sum.ToString();
}
然后我们运⾏试验!!!!!!!!!!!!!!!!!!
效果展⽰出来吧,后期如果需要业务调⽤,直接上业务参数,⽅便两⽅直接数据共享发送。⼀些复杂的接⼝和这个原理差不多,根据我们系统的实际需求完善WEB服务的功能。
好的,感谢⼤家阅读教程,有不⾜的地⽅敬请喷,互相学习谢谢。
以下我将实例插件接⼝上传到⽂档供参考:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论