zoukankan      html  css  js  c++  java
  • 论富客户端程序的webservice实现

    声明:偶第一次在博客园写点东西,且水平处于菜鸟阶段,有不对的地方大家就当笑话看看好了~

    也许富客户端本是针对基于浏览器的bs结构的程序而言的,我说的这样客户端也是需要安装的,也许和remoting差不多吧。不过我比较笨,remoting怎么也没弄明白,反到是对webservice很是喜欢,于是将自己写的程序加上webservice,由cs结构变成了bs结构了。
    光说这些也不清楚,我结合最近一个项目中的实例来说下吧。

    在公司做电梯项目的时候,因为需要在客户端发卡(类似于向公交卡中写入 信息的过程),且主程序是bs结构的,于是开始计划用activex控件来完成,但是偶对c++不感冒,且最近网络不安全,对控件(特别是浏览器控件)防范很多,于是只好另换别的方法,无意中看到了webservice,其实我以前也听说过webservice,但一直没亲自44,这次用过之后,才知道webservice是即容易学,有好用。捡到宝了,哈哈~

    我简单说下webservice的用法:
    1)在服务端用vs建立一个web服务项目,然后按照helloworld的样式写个你需要的函数,如名称为ConnectServer(),假定此函数的功能为测试服务器链接,正确返回2008,否则链接失败。
    2)然后将服务端发布到本地iis的虚拟目录中如myweb,
    3)建立一个客户端(应用程序),添加一个web应用,如:http://localhost/myweb/service1.asmx,名称:myservice这样就完成了webservce的引用了。
    4)在调用的时候:myservice.service1 myse = new myservice.service1();
                                  int result = myse.ConnectServer();
    5)记得在int result前加一句mse.Url = myserviceUrl,这个地址放在你的客户端配置文件中就好了。
    这样一个完整的webservice应用就完成了。

    然后具体在我项目中,利用webservice获取卡片的信息,然后存储到本地,再调用本地的程序将数据写入卡片中,这样即免去了控件的烦恼,又实现了客户端及时的与服务器交互,呵呵,何乐而不为呢?
    而且webservice是由iis维护的,可以为其设定特定的线程池,一下子就多线程及线程优化的任务推给了ms,哈哈~
    btw:如果webservice要部署到远程服务器,请在webconfig中的system.web中添加<webServices>
          <protocols>
            <add name="HttpSoap"/>
            <add name="HttpPost"/>
            <add name="HttpGet"/>
            <add name="Documentation"/>
          </protocols>
        </webServices>

    Over。就写这么多了,再多偶也写不出来了,嘻嘻!
  • 相关阅读:
    js:语言精髓笔记1--标识符与基本类型
    ember.js:使用笔记4 数组数据的分组显示
    ember.js:使用笔记3 活用{{bind-attr}}
    ember.js:使用笔记2-数据删除与存储
    ember.js:使用笔记1-数组数据统一显示
    工具:使用jekyll生成静态网站
    css:删除:×的效果
    js写随机一个颜色
    回调函数的使用
    jquery获取select标签的选中元素
  • 原文地址:https://www.cnblogs.com/4kapple/p/853732.html
Copyright © 2011-2022 走看看