C# Webserice 代理生成工具(WSDL)

本文介绍了一款C# WebService代理生成工具,用于解决在多个URL和命名空间冲突时手动管理代理类的复杂性。该工具提供对多个项目、多个URI的管理,支持代理类和实体类的重命名、指定命名空间等功能,同时自动处理命名规范,提高代码可读性和维护效率。此外,还详细列出了工具的各种功能和导出选项,包括实体类的处理和导出设置。
摘要由CSDN通过智能技术生成

    曾经做好几个项目,由于考虑不同的平台,所以基本上都是基于Webservice(SOAP协议)来实现,服务器一般是使用Java来实现。本文只要说明C#的Webservice代理的使用及代理代码的生成。

    由于项目算是比较大的,服务接口比较多,所以Webservice发布层都是有多个Url的,这种情况使用VS提供的WSDL生成工具好像就出现问题了,实体类代码和通信类(操作方法)代码都是放到一个文件里面了,如果Webservice发布时没有手动指定命名空间时,还会涉及到命名空间的问题,即实体类的属性完全相同,也会报命名空间的错误。所以在调用方,出现了同一实体,多处命名的问题。还有命名规范问题,如果发布方没有指定发布时的名称(如:实体中的属性,类名等),Java的Webservice发布工具默认是小写的,所以和C#通常为大写的做法不符,影响可读性。

    具体做法:把WSDL生成的代理类的有关的实体手动分离出来,并把每个实体类的有关的命名空间注释去。(如果是同一个团队开发,可以按照指定的要求一起遵守,但如果是不同公司,一般来说都是调用方自己想办法解决了),把所有实体类放到同一个程序集里(有很多相同的可以保留一份),这样,我们基本上可以做实体做了统一管理,基本上可以使整个程序运行正常了。

    维护成本:这些手动的工作的维护成本是相当大的,只要服务器每更改一次实体和操作方法(指要通过Webservice发布的方法)&#

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值