asp.net WebService的一个简单示例
Posted 一天,又一天
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net WebService的一个简单示例相关的知识,希望对你有一定的参考价值。
不同的系统之间经常会需要数据的交换对接,而Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。Web Service减少了应用接口的花费。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。【百度百科】
在此记录一下asp.net webservice的简单示例:
1:首先在项目中添加web服务(即asmx文件)。
2:添加后asmx文件默认代码如下。
3:自定义一个test接口方法,(Description = "测试服务是否通")为部署之后方法的描述信息。
[WebMethodAttribute(Description = "测试服务是否通")] public string test() { return GetResult(true, "连接成功", "", "test", ""); } public string GetResult(bool status, string description, string UserData, string MethodName, string XMLPars) { StringBuilder sb = new StringBuilder(); sb.Append("<?xml version=\\"1.0\\" encoding=\\"gb2312\\"?>"); sb.Append("<DataBody>"); sb.Append("<DATA>"); sb.Append("<ReturnInfo>"); sb.Append("<Status>" + status.ToString() + "</Status>"); sb.Append("<Description><![CDATA[" + description + "]]></Description>"); sb.Append("</ReturnInfo>"); if (status && UserData != "") { sb.Append("<UserArea>" + UserData + "</UserArea>"); } sb.Append("</DATA>"); sb.Append("</DataBody>"); //保存接口调用日志 //string ClientIP = Context.Request.ServerVariables.GetValues("REMOTE_ADDR")[0]; //DB_XXTWebServiceLog.InsertLog(ClientIP, MethodName, System.Text.Encoding.Default.GetBytes(XMLPars), System.Text.Encoding.Default.GetBytes(sb.ToString()), status ? "1" : "0", description); return sb.ToString(); }
3:编译项目,并部署至IIS,新建应用程序池,添加应用程序。
4:在浏览器中即可访问该服务
5:可以在浏览器中调用test方法来测试服务是否通
6:具体如何调用,不同的语言有不同的形式。至于如何在webservice中使用xml传输数据见 WebService,ASMX文件使用XML格式数据传递参数、验证与获取XML格式返回值的一种方式
以上是关于asp.net WebService的一个简单示例的主要内容,如果未能解决你的问题,请参考以下文章
使用 jquery 从 asp.net webservice 解析简单的 xml
在 asp.net 中阻止对 WebService.asmx 的访问
纯 JavaScript 调用 ASP .NET WebService 返回 0