WebService的简单使用
来源:互联网 发布:linux下的arm模拟器 编辑:程序博客网 时间:2024/06/13 12:31
适合使用Web Services的情况
(1)跨越防火墙;(2)应用程序集成;
(3)B2B集成;
(4)软件重用
创建WebService
在项目中添加新项--->Web服务 MyWebService.asmx/// <summary> /// MyWebService 的摘要说明 /// </summary> [WebService(Namespace = "MyWebService")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 // [System.Web.Script.Services.ScriptService] public class MyWebService : System.Web.Services.WebService { public MySoapHeader mySH = null; //在客户端使用的时候实例化 [WebMethod] public string HelloWorld() { return "Hello World"; } [SoapHeader("mySH")] //这里通过SoapHeader传递信息 [WebMethod(Description="判断当前用户是否正确")] public string IsRigth() { if (mySH.IsRight()) { return "账号有效"; } return "账号无效"; } }
MySoapHeader类的代码
public class MySoapHeader:SoapHeader { private string username; public string Username { get { return username; } set { username = value; } } private string pwd; public string Pwd { get { return pwd; } set { pwd = value; } } public bool IsRight() { //简单的判断 用户名和密码是不是admin if (username == "admin" && pwd == "admin") { return true; } return false; } }
引用WebService
如果在其他项目中要引用此WebService,需要添加服务引用。 输入公开的WebService端点,本地直接点发现即可找到要添加的项,添加
在其他页面调用代码:
using (ServiceReference1.MyWebServiceSoapClient client = new ServiceReference1.MyWebServiceSoapClient()) { ServiceReference1.MySoapHeader mysh = new ServiceReference1.MySoapHeader(); //实例WebService提供端 的SoapHeader mysh.Username = "admin"; //初始化用户名 密码 mysh.Pwd = "admin"; string str =client.HelloWorld(); string s = client.IsRigth(mysh); //调用方法时,传入SoapHeader Response.Write(str+"--"+s); //在页面输出 }
异步调用WebService
只需在引用WebService后,配置服务引用,选中生成异步操作即可。系统会自动生成异步操作方法
第二种异步调用方法,使用BackgroundWorker
BackgroundWorker backWorker = new BackgroundWorker(); backWorker.DoWork += new DoWorkEventHandler(backWorker_DoWork);//制定执行的事件 backWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(backWorker_RunWorkerCompleted); //执行完毕后的回调方法 backWorker.RunWorkerAsync(); //开始异步调用void backWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { Response.Write(e.Result); //输出结果 } void backWorker_DoWork(object sender, DoWorkEventArgs e) { using (ServiceReference1.MyWebServiceSoapClient client = new ServiceReference1.MyWebServiceSoapClient()) { ServiceReference1.MySoapHeader mysh = new ServiceReference1.MySoapHeader(); mysh.Username = "admin"; mysh.Pwd = "admin"; string str = client.HelloWorld(); string s = client.IsRigth(mysh); e.Result = str + "--" + s; } }
- WebService的简单使用
- WebService的简单使用
- WebService的简单使用
- 简单的PHP Webservice 使用
- WebService服务的简单使用
- CXF webservice的简单使用
- webservice怎么简单的使用
- webService一种简单的使用
- webservice的几个简单的使用方式
- 使用Eclipse编写最简单的WebService
- 使用Eclipse开发WebService的简单示例
- webService 使用CXF 实现简单的helloworld
- 使用CXF简单开发webservice的实例
- 使用XFire开发WebService的简单例子
- 简单使用webservice的文章介绍
- 使用Java发布WebService的简单实例
- 使用JDK开发一个简单的WebService
- webService框架cxf的简单使用
- 设计模式(c++)笔记之八(Decorator模式)
- SSL协议的握手过程
- 戴尔推出Venue 7和Venue 8两款入门级Android平板电脑
- extField限制只能输入一定长度的字符
- Step By Step(Lua调用C函数)
- WebService的简单使用
- XILINX DCM and ALTERA PLL(1)
- 一个字符串 是否包含另外一个字符串
- 约瑟夫环(数组模拟实现)
- 转载: 代码可维护性的神秘面纱
- CentOS6.4上编译安装Nginx
- OpenCV: Canny边缘检测算法原理及其VC实现详解
- TextField输入框中是否有个叉号一次性删除输入框中的内容
- Windows Domain和WorkGroup的区别