Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在VB.net应用程序中处理c#web服务中区分大小写的类和方法_C#_Vb.net_Web Services_Case Sensitive_Case Insensitive - Fatal编程技术网

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

如何在VB.net应用程序中处理c#web服务中区分大小写的类和方法,c#,vb.net,web-services,case-sensitive,case-insensitive,C#,Vb.net,Web Services,Case Sensitive,Case Insensitive,我正在开发一个VB.Net应用程序,它需要访问一个web服务,我几乎可以肯定它有一个C#后端。至少,后端为我提供的类是按大小写区分的,在许多这样的类中,有一些属性和方法是按大小写区分的 VB.Net不区分大小写,并且它认为这些项目中有许多是不明确的 我已经想到了一些处理这个问题的方法,但在我走上一条可能很困难的道路之前,我希望得到一些建议 以下是我考虑过的一些方法 修改为wsdl生成的代码。这给响应带来了问题,因为xml输出将不再符合webservice要求。我想可能有一些属性我可以用来覆盖它,

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

VB.Net不区分大小写,并且它认为这些项目中有许多是不明确的

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

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

  • 修改为wsdl生成的代码。这给响应带来了问题,因为xml输出将不再符合webservice要求。我想可能有一些属性我可以用来覆盖它,但我不确定它们是什么。即使如此,这个web服务也会得到频繁的更新,我不希望每次刷新它时都要不断地刷新它

  • 创建一个csharp包装器项目,在其中公开具有不同名称的底层类。主要是通过继承。尽管这里最大的问题是属性和方法的问题,它们也只是根据具体情况进行区分

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


    谢谢

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


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

    解决方案是修复您的开发过程,以便不允许公共类型仅在情况下有所不同。您使用的Visual Studio版本是什么?我在VS2010中尝试了一些东西,它似乎通过在模棱两可的名字上增加数字来解决这个问题。我不确定这是因为VS版本还是目标框架版本。我使用的是VS2010,它会自动将数字添加到一些字段中,但似乎忽略了一些字段。我不能100%确定它为什么会忽略它所忽略的那些代码。我无法控制web服务代码。这是我们的第三方。