写博客也是一件非常费时的事儿啊,之前配置服务器和客户端的Oracle数据库搞了很久,搞定之后懒的记录,现在想想如果让我再配一次,估计又要花很长时间了。
所以把做过的东西整理整理记录下来还是很有必要的,今天就来说说WebService。
之前在上XML课的时候老师说过WebService,我根本都不理解,也不知道怎么用,其实如果能给一个例子的话,我想很容易能明白,很多老师只靠嘴巴说,效果不好。
我想解决一个什么样的问题呢:
首先,我在服务机写了一个组件,应该是包括接口、组件及描述的XML文档,为了提高分布式中的代码复用性,我需要在客户机来调用这个组件。
如何来调用成为一个问题,方法可能有很多,我现在介绍的是把服务端组件打包成一个WebService上载,然后让客户机去调用的方法。
如果实现了其他方法,以后再说。
怎么实现的呢? .. 我捋一捋,把步骤写出来。
参考网站:
http://blog.csdn.net/yexuanbaby/article/details/9029605
http://blog.csdn.net/lifeng_beijing/article/details/4733498
〇 安装iis
这个在XP服务器和win7客户机下我都安装了,教程就自行百度了,为了到时候发布WebService用,如果先装的.net framework再装iis貌似出问题,
解决方案:http://diary.51.com/item/liyanhong1217/diary/10044061.html
① 创建WebService
打开“文件”->“新建”->“网站”,在对话框中选择“ASP.NET Web服务”,默认生成Service1.asmx,如果要改类名,请参考
http://blog.csdn.net/scutliu/article/details/6155577
其他不用改,测试嘛,就helloworld就行,点击“三角形”符号跑一个看看效果。
② 生成网站
打开“生成”->找到带有快捷键是shift+F6的那个,点一下。
③ 发布网站
打开“生成”->“发布..”,点击一下让你选择路径,找个路径保存一下。我是保存在iis的根目录下的一个新建的WebService目录。
这个新建的目录之前还要配置一下,参考 http://blog.csdn.net/luyang1016/article/details/6264905
④ 测试
在浏览器地址栏输入 http://ip/WebService/Service1.asmx(默认情况下),测试是否发布成功,我这XP有病就是测试这块不过,不懂怎么办 ..
然后束手无策,快要放弃的时候决定再试一次,莫名其妙地好了,大概告诉我人不能放弃吧。
⑤ 客户机引用
在客户机的项目中“添加服务引用”,服务引用和Web引用是不同的,服务引用貌似更高级,是WCF的,不管,反正我们仔细找到Web引用,把http://ip/WebService/Service1.asmx(默认情况下)这个地址填上去,引用之后,在代码中就可以new 一个WebService的类出来,就能用了,只是速度比较慢。
我猜是这样,客户机把参数传到服务器,服务器计算后把结果再传回来,这样就比较慢了吧。
怎么引用这块可以参考一下这个 http://blog.csdn.net/yexuanbaby/article/details/9029605