发布部署Web Servic

这几天做网站时,想实现一个功能:客户端的浏览器查询获取informix(IBM的商业数据库)里的数据。之前网站都是通过普通的架构实现的(2层架构?),简单的以为服务器和客户端间的交互只是DataTable的传输,服务器的IIS在本地查询得到结果后,封闭成DataTable发送给客户端,大错特错!实际上,两者之间是通过SqlConnection通讯的,SqlConnection的字段ConnectionString维护着要连接的数据库的信息。因此,客户端实际上是基于ADO.NET,自己跟数据库打交道的,跟服务器没关系!服务器只是负责告诉客户端连接数据库的字符串,剩下的事不归它管了!

回归正题,客户端想要访问informix,可以考虑的有两种方案:

  1. 本地安装informix的ADO.NET驱动或者ODBC驱动,不过ODBC有点过时,而且貌似速度惨不忍睹。对ADO.NET有兴趣的同学可以参考::http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0510durity/
  2. 利用Web Service技术,将服务器作为中转点,客户端将查询语句提交给服务器,服务器作为代理去访问Informix数据库,并将得到的查询结果返回给客户端的浏览器。最经常使用Web Service技术的应属网站到处可见的报时服务,通常网站都是使用国际组织或第三方提供的报时服务,而不是自己服务器设定的时间。

  1. 看看怎么实现Web Service吧。在解决方案中添加Web Service项目(ASP.NET Web服务应用程序),生成的项目里最重要的文件有两个:Service1.asmx和Web.config。
    Service.asmx默认实现了一个HelloWorld函数,可以仿照添加更多的函数。注意,每个函数前面都得加上
     [WebMethod(EnableSession = true)],表示可以远程调用该方法。
  1.     public class Service1 : System.Web.Services.WebService
        {
    
            [WebMethod(EnableSession = true)]
            public string HelloWorld()
            {
                return "Hello World";
            }
     
        }

  1. 接着生成项目,发布,得到三个文件:

  1. 剩下最后一步布署啦。找到服务器的IIS管理器,新建一个网站,让网站的物理路径指向上面三个文件的所在目录,OK!建议大家新建网站,并且物理路径的目录不要放在已有的网站的目录底下,避免web.config间的冲突。

    可以测试访问一下:http://域名/Service1.asmx,将会显示如下页面:


    http://hi.csdn.net/attachment/201201/4/0_132566626836qi.gif



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值