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格式返回值的一种方式

posted @ 2016-07-04 18:03  一天,又一天  阅读(10289)  评论(0编辑  收藏  举报