如何在我的VB.net应用程序中处理来自ac#web服务的区分大小写的类和方法

CSt*_*vis 4 c# vb.net web-services case-sensitive case-insensitive

我正在开发一个VB.Net应用程序,需要访问我几乎肯定有C#后端的Web服务.至少,后端为我提供了仅按大小写区分的类,并且在许多类中,有些属性和方法仅按大小写区分.

VB.Net不区分大小写,并且它看到许多这些项目含糊不清.

我想到了一些处理这个问题的方法,但在我走上可能很难的道路之前,我想提出一些建议.

以下是我考虑过的一些方法.

  1. 修改生成的wsdl代码.由于xml输出不再符合Web服务要求,因此在响应时出现问题.我认为可能有一些属性可以用来覆盖它,但我不确定它们是什么.即便如此,这个Web服务也会经常更新,我不想每次刷新时都要重新修改服务.

  2. 创建一个csharp包装器项目,我用不同的名称公开底层类.主要通过继承.虽然这里的一个大问题是属性和方法的问题,这些问题和方法也只是按案例区分.

我确信在某些时候我可以让这些解决方案中的一个或另一个起作用,但如果有人有任何我没想到的更好的建议,我会很感激帮助.

谢谢

Jon*_*gel 5

如果Web服务是内部开发的,那么您需要查看公司的开发实践; 特别是,确保所有公共.NET API都符合CLS.

如果Web服务不是内部开发的,或者您无法对其进行更改(客户已经在使用它等),那么我会采用编写C#包装器库的方法,或者至少集中管理将代码调用到新的(或现有的)业务层C#项目中.无论如何,你很可能想要做这种抽象,而不是直接从应用程序层调用web方法.