WebService开发应用
WebService是运行于服务端(一般放在信息服务器上的)让客户端来调用的。
以下开发两个简单的实例
1.自己开发服务端自己调用(vs2010)
1).菜单:“新建-项目”,在打开的窗体中选择,如下图:

2).在“项目解决方案”中右击此项目并“添加-新建项”,然后选择"web服务",如下图

3).打开新添加的页面,在其中加入四个函数,一定在四个函数的上方加上“[WebMethod]”,这是说明让客户端来调用的函数,如果上面没有或注释掉,就表示客户端不能访问它。下面把它默认的HelloWord函数注释,源码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services; namespace MyWebServices
{
/// <summary>
/// WebService1 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[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";
}
[WebMethod(Description="相加")]
public double Add(double num1, double num2)
{
return num1 + num2;
} [WebMethod(Description = "相减")]
public double Sub(double num1, double num2)
{
return num1 - num2;
} [WebMethod(Description = "相乘")]
public double Mul(double num1, double num2)
{
return num1 * num2;
} [WebMethod(Description = "相除")]
public double Div(double num1, double num2)
{
if (num2 != )
return num1 / num2;
else
return ;
}
}
}
4).在浏览器中运行WebService1.asmx,即在“解决方案”中右键WebService1.asmx,在"浏览器中运行",以下为运行图,会发现HelloWord函数没显示出来

5).开发客户端。
- 建立一空的WebApplication程序
- 在“解决方案”中右键此项目“添加web引用”,会弹出一窗体,让用户输入wsdl的URL.设置Web引用名的名称并点击添加引用,此时会在项目中出现一个这样服务的图标。如下图:

- 增加一webForm,它的HTML源码为:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div> <input id="Text1" type="text" runat="Server" /><select id="Select1" name="D1" runat="Server" >
<option>+</option>
<option>-</option>
<option>*</option>
<option>/</option>
</select><input id="Text2" type="text" runat="Server" /><asp:Button ID="Button1"
runat="server" Text="=" onclick="Button1_Click" />
<input id="Text3" type="text" runat="Server" /></div>
</form>
</body>
</html>
cs源码(按钮事件):
protected void Button1_Click(object sender, EventArgs e)
{
string op = Select1.Value;
if (Text1.Value == string.Empty || Text2.Value == string.Empty)
return;
double num1 = double.Parse(Text1.Value);
double num2 = double.Parse(Text2.Value);
double result=;
MyTest.WebService1 ws=new MyTest.WebService1();
if (op.Equals("+"))
result = ws.Add(num1, num2);
else if (op.Equals("-"))
result = ws.Sub(num1, num2);
else if (op.Equals("*"))
result = ws.Mul(num1, num2);
else if (op.Equals("/"))
result = ws.Div(num1, num2);
Text3.Value = result.ToString(); }
- 运行客户端,如下图,此时成功运行:

2.调用其它的WebService服务,此例我们调用http://www.webxml.com.cn中的查询手机号码的服务,打开此网站下的"全部WebService",可以看到如下图:

1).新建 一个普通的WinForm程序,界面如下:

2).在新建的项目上右键"添加服务引用",在地址栏上粘贴http://www.webxml.com.cn中手机查询服务中的随便一个地址,命名空间自己设置,如下图:

3).点击上图中的“确定”按钮,此时会把这个相关的服务加入到此项目中,如图:

4).在winForm中的button源码如下:
private void button1_Click(object sender, EventArgs e)
{
ServiceReference1.MobileCodeWSSoapClient mms = new ServiceReference1.MobileCodeWSSoapClient("MobileCodeWSSoap12"); *
string s= mms.getMobileCodeInfo(this.textBox1.Text.Trim(),"");
MessageBox.Show(s); }
*号处的参数是说明用soap的哪种协议的,我们在添加webservice服务后会自动增加一个app.config文件,打开此文件会在文件下面看到如下的代码:
<client>
<endpoint address="http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx"
binding="basicHttpBinding" bindingConfiguration="MobileCodeWSSoap"
contract="ServiceReference1.MobileCodeWSSoap" name="MobileCodeWSSoap" />
<endpoint address="http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx"
binding="customBinding" bindingConfiguration="MobileCodeWSSoap12"
contract="ServiceReference1.MobileCodeWSSoap" name="MobileCodeWSSoap12" />
</client>
此参数输入name的值就可以了。
5).运行效果图:

终结:
在调用时先引用WebService服务,再创建它的实例,然后再调用它的函数即可。
WebService开发应用的更多相关文章
- WebService中方法的相关注意事项
2014-11-14 在WebService中定义方法,有一些注意的地方: (1) 方法上面需要增加 [WebMethod] 属性,标志该方法是一个WebService方法: (2)方法的返回值可以为 ...
- XE5 ANDROID平台 调用 webservice
服务端需要midas.dll XE5对android的平台支持很有吸引力,虽然目前用来直接开发应用到安卓市场卖赚钱可能性估计不大(安卓市场目前国内好像都是免费的天下),但是对于企业应用很是很有帮助 ...
- webservice第二篇【自定义webservice服务、soa、uddi概念、soap协议】
自定义webservice服务 我们在上一章节中已经使用wsimport生成本地代理来调用webservice的服务了,其实我们自己写的web应用程序也是可以发布webservice的 我们发布了we ...
- WebService就是这么简单
WebService介绍 首先我们来谈一下为什么需要学习webService这样的一个技术吧.... 问题一 如果我们的网站需要提供一个天气预报这样一个需求的话,那我们该怎么做????? 天气预报这么 ...
- webservice入门简介
为了梦想,努力奋斗! 追求卓越,成功就会在不经意间追上你 webservice入门简介 1.什么是webservice? webservice是一种跨编程语言和跨操作系统平台的远程调用技术. 所谓的远 ...
- java之WebService
链接:https://www.jianshu.com/p/1c145315da47 WebService介绍 首先我们来谈一下为什么需要学习webService这样的一个技术吧.... 问题一 如果我 ...
- webService
什么是webService WebService,顾名思义就是基于Web的服务.它使用Web(HTTP)方式,接收和响应外部系统的某种请求.从而实现远程调用. 1:从WebService的工作模式上 ...
- 开始webservice了
一.WebService到底是什么 一言以蔽之:WebService是一种跨编程语言和跨操作系统平台的远程调用技术. 所谓跨编程语言和跨操作平台,就是说服务端程序采用java编写,客户端程序则可以采用 ...
- Spring WebService入门
Web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述.发布.发现.协调和配置这些应用程序,用于开发分布 ...
随机推荐
- 转载:在Visual Studio 2013中管理中国特色的社会主义Windows Azure
原文链接: http://www.pstips.net/get-azurechinacloud-settings.html 谷歌被豪迈地放弃了中国市场,微软仍旧在中国市场摸爬滚打,跪着挣钱.其中私人定 ...
- ios8地图开发的报错
报错如下:Trying to start MapKit location updates without prompting for location authorization. Must call ...
- greenlet代码解读
协程 上次已经讲解了协程的的实现方法,和我对协程的一些理解.这里指我就先以代码说明协程的运行.def test1(): print 12 (2) gr2.switch() ...
- 24种设计模式--策略模式【Strategy Pattern】
刘备要到江东娶老婆了,走之前诸葛亮给赵云(伴郎)三个锦囊妙计,说是按天机拆开解决棘手问题,嘿,还别说,真是解决了大问题,搞到最后是周瑜赔了夫人有折兵呀,那咱们先看看这个场景是什么样子的. 先说这个场景 ...
- 身份证js验证
<script type="text/javascript"> //--身份证号码验证-支持新的带x身份证 function isIdCardNo(num) { var ...
- 学习JS
原型是Js中非常重要的概念,每个函数(在Js里面函数也是对象)都有一个叫prototype即原型)的属性,不过在一般情况下它的值都是null,但它他有一项非常重要的功能就是所以实例都会共享它里面的属性 ...
- CSS3 skew倾斜、rotate旋转动画
css3出现之前,我们实现一个对象的一组连续动画需要通过JavaScript或Jquery编写,脚本代码较为复杂: 若需要实现倾斜.旋转之类的动画难度将更高(我还没试过用JavaScript或Jque ...
- 数据库创建&数据表创建
--第2_1题创建数据库 create database Student201038897041 on primary (name='student1', filename='F:\coures\SQ ...
- 更加直观地了解hasLayout和BFC
网络上有很多关于hasLayout和BFC相关的文章,但是大部分都显得有些晦涩难懂.所以想用一些比较直观的例子来说明hasLayout和BFC给平时的布局带来的影响. 基础知识 在讲hasLayout ...
- 常用webservice接口地址
天气预报Web服务,数据来源于中国气象局Endpoint :http://www.webxml.com.cn/WebServices/WeatherWebService.asmxDisco ...