.NETC#创建WebService服务简单实例
Web service是⼀个基于可编程的web的应⽤程序,⽤于开发分布式的互操作的应⽤程序,也是⼀种web服务
WebService的特性有以下⼏点:
1.使⽤XML(标准通⽤标记语⾔)来作为数据交互的格式。
2.跨平台性,因为使⽤XML所以只要本地应⽤可以连接⽹络解析XML就可以实现数据交换,⽐如安卓、IOS、WindowsPhone等都可以实现对Web service的数据交互。
3.基于HTTP协议,直接跨越防⽕墙,通⽤型强;
下⾯使⽤Visual Studio 2013(其他VS版本亦是如此)来创建⼀个简单Web service服务。
⼀、打开Visual Studio->⽂件->新建->⽹站
⼆、之后选择ASP.NET空⽹站,再点击“确定”
三、新建⽹站后你会看到解决⽅案管理器中看到⼀个fig,待会我们可以通过配置这个⽂件来
实现浏览器对WebService的远程调⽤。现在,右键解决⽅案中的项⽬名添加⼀个WebService项⽬。
四、之后,你可以在项⽬模版中到Web服务(ASMX),添加它!
五、创建之后在APP_Code⽂件夹中创建⼀个WebService.cs⽂件
在⽹站根⽬录下会同时创建⼀个WebService.asmx⽂件
这两个⽂件中WebService.cs负责逻辑部分,WebService.asmx提供服务部分。将来引⽤WebService服务时将直接引⽤WebService.asmx⽂件来调⽤WebService服务,服务的执⾏部分就是WebService.cs⽂件
现在打开WebService.cs⽂件来编辑逻辑部分实⾏⼀个简单的《客户端调⽤web服务实现⼀个简单的加法运算,并返回以字符串给客户端运算结果》
/*
Web.Services.cs⽂件
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
/// <summary>
/// WebService 的摘要说明
/// </summary>
[WebService(Namespace = "/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// 若要允许使⽤ ASP.NET AJAX 从脚本中调⽤此 Web 服务,请取消注释以下⾏。
// [System.Web.Script.Services.ScriptService]
public class WebService : System.Web.Services.WebService {
public WebService () {
//如果使⽤设计的组件,请取消注释以下⾏
//InitializeComponent();
}
/// <summary>
/// ⽅法上头的[WebMethod]是声明⼀个web服务⽅法,如果你想写个⽅法能让客户端调⽤并返回结果就必须在⽅法上头标注[WebMethod]
/// 如果是只负责逻辑运算或私有⽅法,并不打算给客户端结果,只给类⽅法内部调⽤就⽆需声明[WebMethod]
/// </summary>
/// <param name="a"></param>
/// <param name="b"></param>
/// <returns>将运算结果转换成字符串返回</returns>
[WebMethod]
public string HelloWorld(int a, int b) {
int result = a + b;
return result.ToString();
}
}
上⾯的代码写了⼀个基本的⽅法供远程调⽤,将cs⽂件保存后,⼀个简单的web服务就创建了!
下⾯我们启动这个项⽬,⽤浏览器查看微软为我们定义测试的调⽤页⾯:
在这⾥我们可以看到我们写的Hello⽅法可以调⽤了,我们单击进⼊这个⽅法进⼊调⽤调试页⾯:
输⼊参数,我们写的是⼀个简单的加法运算,参数便是我们写的HelloWorld⽅法的参数a和b,我们输⼊两个整数点击调⽤,出现如下结果:
下⾯是web服务返回的结果,其中133就是HelloWorld参数a+b返回的结果:
<?xml version="1.0" encoding="UTF-8"?>
<string xmlns="/">133</string>
到这⾥,以后我们想要调⽤⼀个web服务就可以通过以上⽅式把客户端从服务器获取数据,访问:"主机名/web服务名.asmx"就可以调⽤了。得到的数据是个XML,所以客户端得到数据后需要客户端解析XML⽂件。
注意:以上创建在浏览器调⽤的web服务仅供本地计算机调试使⽤,需要配置fig(之前提到过)才能实现远程调⽤调试
如果不配置,在远程调⽤会出现:测试窗体只能⽤于来⾃本地计算机的请求解决的问题。
如需远程调⽤可以参考⼀下⽅法:
在⽹站的解决⽅案的下⽅到fig
打开后添加如下配置即可:
<system.web>
<webServices>
<protocols>
<add name="HttpGet"/>
如何生成webservice客户端<add name="HttpPost"/>
</protocols>
</webServices>
<system.web>
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论