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

标签 c# vb.net web-services case-sensitive case-insensitive

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

VB.Net 不区分大小写,它认为其中许多项目不明确。

我已经想到了一些处理这个问题的方法,但在我走上一条可能很困难的路之前,我希望得到建议。

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

  1. 修改为 wsdl 生成的代码。由于 xml 输出不再符合 web 服务要求,因此在响应中出现了问题。我认为可能有一些属性可以用来覆盖它,但我不确定它们是什么。即便如此,此 Web 服务仍会频繁更新,我不希望每次刷新时都必须重新修复该服务。

  2. 创建一个 csharp 包装器项目,我在其中公开具有不同名称的底层类。主要是通过继承。尽管这里的大问题是属性和方法的问题也仅按大小写区分。

我确信在某些时候我可以使这些解决方案中的一个或另一个起作用,但如果有人有任何我没有想到的更好的建议,我将不胜感激。

谢谢

最佳答案

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

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

关于c# - 如何在我的 VB.net 应用程序中处理来自 c# Web 服务的区分大小写的类和方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6445684/

相关文章:

javascript - VB.NET TCP 客户端与 NODE-RED TCP 监听器进行双向通信

javascript - 在实现聊天服务时我应该遵循哪些最佳实践和标准?

c# - 比较使用 Thread.Sleep 和 Timer 延迟执行

.net - 整个应用程序 VB .Net 的 Keydown 事件

c# - 使用 .Net Standard 2.0 库中的 x509 证书使用 WCF Web 服务?

VB.Net 上的正则表达式仅从左到右获取前几个数字

java - 在 Rally 中,如何根据 webservice v2.0 的给定条件列表在 java 中动态生成搜索查询字符串。

java - 如何从Filter返回SOAPFault给客户端?

c# - 无法找到 .NET Core SDK。 .NET Core 调试将不会启用。确保 .NET Core SDK 已安装并且在路径上

C#:IComparable 实现私有(private)