使用Web服务

来源:互联网 发布:淘宝网卖家信誉 编辑:程序博客网 时间:2024/06/07 20:01

1.生成Web引用代理的方法:可使用工具通过Web Reference生成;或使用WSDL.EXE命令行工具生成。

WSDL.EXE创建方法为:wsdl /language:CS/namespace:HelloServiceWSDL /o:HelloServiceWSDL.cshttp://localhost/helloService/Hello.asmx?wsdl

注:最后的URL加上?wsdl可以获得服务的原始WSDL协定,没有此参数只能得到友好问候页面。

 

2. 因为Web服务的文件名可能变化,所以需要使用动态URL。

动态URL的实现方式有多种:

存储在app.config中;

使用独立存储(流);

使用UDDI实现动态URL。

 

3. 异步使用Web服务:使用Web服务应该尽量减少调用次数,增加每次调用的数据量。因为此过程往往较长,因此建议使用后台线程调用。

补充:在WinForm程序中,在后台线程中进行操作时,所有修改UI的尝试都会失败(即无法打开新窗体或更改控件属性)。因此要让后台线程影响用户界面,必须使用Invoke方法,让主线程(GUI)来执行某个方法。

 

4.Web服务客户端可靠性:应用程序在离线时需将工作排入队列,不至于每次Web服务出现异常都会使应用程序挂起。

网络连接测试:对于Web服务,可以写一个Ping方法:在try/catch中设置一个很短的超时周期,然后调用Web服务的某个方法,如果这个方法没有及时返回,或遇到了错误,那么在离线模式下操作。

处理Web服务错误:服务器端出现异常时,该异常会被串行化,存储到SOAP头中,然后由客户端进行反串行化转换为异常。如果要抛出自定义异常,则该异常的模式应该是公开发表的。

原创粉丝点击