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空网站,再点击“确定”

三、新建网站后你会看到解决方案管理器中看到一个web.config,待会我们可以通过配置这个文件来实现浏览器对WebService的远程调用。现在,右键解决方案中的项目名添加一个WebService项目。

四、之后,你可以在项目模版中找到Web服务(ASMX),添加

五、创建之后在APP_Code文件夹中创建一个WebService.cs文件

在网站根目录下会同时创建一个WebService.asmx文件

这两个文件中WebService.cs负责逻辑部分,WebService.asmx提供服务部分。将来引用WebService服务时将直接引用WebService.asmx文件来调用WebService服务,服务的执行部分就是WebService.cs文件

现在打开WebService.cs文件来编辑逻辑部分实行一个简单的《客户端调用web服务实现一个简单的加法运算,并返回以字符串给客户端运算结果》

 1 /*
2 Web.Services.cs文件
3 */
4 using System;
5 using System.Collections.Generic;
6 using System.Linq;
7 using System.Web;
8 using System.Web.Services;
9
10 /// <summary>
11 /// WebService 的摘要说明
12 /// </summary>
13 [WebService(Namespace = "http://tempuri.org/")]
14 [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
15 // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。
16 // [System.Web.Script.Services.ScriptService]
17 public class WebService : System.Web.Services.WebService {
18
19 public WebService () {
20
21 //如果使用设计的组件,请取消注释以下行
22 //InitializeComponent();
23 }
24
25 /// <summary>
26 /// 方法上头的[WebMethod]是声明一个web服务方法,如果你想写个方法能让客户端调用并返回结果就必须在方法上头标注[WebMethod]
27 /// 如果是只负责逻辑运算或私有方法,并不打算给客户端结果,只给类方法内部调用就无需声明[WebMethod]
28 /// </summary>
29 /// <param name="a"></param>
30 /// <param name="b"></param>
31 /// <returns>将运算结果转换成字符串返回</returns>
32 [WebMethod]
33 public string HelloWorld(int a, int b) {
34 int result = a + b;
35 return result.ToString();
36 }
37 }

上面的代码写了一个基本的方法供远程调用,将cs文件保存后,一个简单的web服务就创建了!

下面我们启动这个项目,用浏览器查看微软为我们定义测试的调用页面:

在这里我们可以看到我们写的Hello方法可以调用了,我们单击进入这个方法进入调用调试页面:

输入参数,我们写的是一个简单的加法运算,参数便是我们写的HelloWorld方法的参数a和b,我们输入两个整数点击调用,出现如下结果:

下面是web服务返回的结果,其中133就是HelloWorld参数a+b返回的结果:

1 <?xml version="1.0" encoding="UTF-8"?>
2 <string xmlns="http://tempuri.org/">133</string>

到这里,以后我们想要调用一个web服务就可以通过以上方式把客户端从服务器获取数据,访问:"主机名/web服务名.asmx"就可以调用了。

得到的数据是个XML,所以客户端得到数据后需要客户端解析XML文件。

注意:以上创建在浏览器调用的web服务仅供本地计算机调试使用,需要配置web.config(之前提到过)才能实现远程调用调试

如果不配置,在远程调用会出现:测试窗体只能用于来自本地计算机的请求解决 的问题。

如需远程调用可以参考一下方法:

在网站的解决方案的下方找到web.config

打开后添加如下配置即可:

1 <system.web>
2 <webServices>
3 <protocols>
4 <add name="HttpGet"/>
5 <add name="HttpPost"/>
6 </protocols>
7 </webServices>
8 <system.web>

配置之后,就可以在远程通过浏览器来调用webservice.asmx服务了,开发测试之后,为了安全,一定把该配置去掉!

.NET C# 创建WebService服务简单的例子的更多相关文章

  1. .NET创建WebService服务简单的例子

    Web service是一个基于可编程的web的应用程序,用于开发分布式的互操作的应用程序,也是一种web服务 WebService的特性有以下几点: 1.使用XML(标准通用标记语言)来作为数据交互 ...

  2. gsoap创建webservice服务简单教程

    版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] WebServicesoapgsoap 使用gsoap创建webservice服务 下载gsop 准备待导出的服务接口定义文件比 ...

  3. webService服务简单实现

    首先写一个简单的webservice服务 package com.service.impl; import java.util.Date; import javax.jws.WebService; i ...

  4. Singleton模式(Singleton创建类型)c#简单的例子

    单(Singleton创建模式)c#简单的例子 当需要生成一个实例,可单发模式 样品可以在短短的球员中产生,玩家和测试.单线程例子,如以下: namespace singletonpattern { ...

  5. 根据wsdl文件用soapUi快速创建webService服务(有图有真相)

    最近公司业务上使用webservice 频繁.由于之前都是自己搭建webservice 自己定义提供给别人服务,现在则相反需求都是根据人家提供的wsdl 文件来生成 我们平台需要提供的接口.刚开始不知 ...

  6. eclipse使用CXF3.1.*创建webservice服务端客户端以及客户端手机APP(二)

    eclipse使用CXF3.1.*创建webservice服务端客户端以及客户端手机APP(二) 接上篇博客,本篇博客主要包含两个内容: 4.使用Android studio创建webservice客 ...

  7. eclipse使用CXF3.1.*创建webservice服务端客户端以及客户端手机APP(一)

    eclipse使用CXF3.1.*创建webservice服务端客户端以及客户端手机APP(一) 本篇博客主要包含五个内容: 1.CXF换将搭建以及eclipse配置CXF. 2.eclipse创建w ...

  8. [转载]Java创建WebService服务及客户端实现

    Java创建WebService服务及客户端实现 Java创建WebService服务及客户端实现

  9. Java创建WebService服务及客户端实现(转)

    简介 WebService是一种服务的提供方式,通过WebService,不同应用间相互间调用变的很方便,网络上有很多常用的WebService服务,如:http://developer.51cto. ...

随机推荐

  1. 2018 codejam kickstart H轮

    被第一题傻逼题卡了很久……好的我也是个傻逼 倒在了最后一题 本来以为小数据过了就能过大数据 结果下载了大数据 发现怎么输出了好多个零 调代码过程中超时了 结束后重新提交了一下 果然是不通过的 A 题目 ...

  2. Scala 入门介绍

    1 基础 1.1 Scala 解释器 REPL - 交互式解释器环境 R(read).E(evaluate).P(print).L(loop) 输入值,交互式解释器会读取输入内容并对它求值,再返回结果 ...

  3. 如何将Tomcat添加到服务中【笔记】

    tomcat中自带有添加服务的批处理,所以只需要从命令行界面进入到需要添加到服务的tomcat目录中,执行service.bat install 命令就可以自动添加默认名称的tomcat服务了. 该批 ...

  4. 027_nginx常见优化参数

    一.nginx.conf主配置文件 proxy_ignore_client_abort on; #不允许代理端主动关闭连接

  5. POJ 3368

    题意: 给你一组数列, 查询区间内有出现次数最多的数的频数 RMQ , 对于一个区间, 分为两部分, 从  L 开始连续到  T  , T + 1 到  R 显然 答案为  MAX (T – L + ...

  6. ifconfig和ping

    命令: ifconfig 对应英文: configure a network interface 作用: 查看 / 配置计算机当前的网卡配置信息 安装: sudo apt install net-to ...

  7. 13)django-ORM(连表一对多,外键创建,创建数据,3种查询)

    一对多需要使用外键 一:外键创建ForeignKey b=models.ForeignKey(to="Business",to_field=("id"))#dj ...

  8. 字符串匹配的Boyer-Moore(BM)算法

    各种文本编辑器的"查找"功能(Ctrl+F),大多采用Boyer-Moore算法. Boyer-Moore算法不仅效率高,而且构思巧妙,容易理解.1977年,德克萨斯大学的Robe ...

  9. Winform中的TextBox的小技巧

    1  一些常用属性this.textBox5.PasswordChar = '@';  //密码的样式            this.textBox5.UseSystemPasswordChar = ...

  10. Java学习——集合框架【4】

    一.集合框架 集合框架是一个用来代表和操纵集合的统一架构.所有的集合框架都包含如下内容: 接口:是代表集合的抽象数据类型.接口允许集合独立操纵其代表的细节.在面向对象的语言,接口通常形成一个层次. 实 ...