0

我们有数百名客户使用的 asmx Web 服务。我们最近进行了一些重构,包括升级到 .NET 4.0。

我们通过使用日志中的数据作为参数执行大量请求来测试重构版本,并比较旧的和重构的 Web 服务的原始结果。我们发现的唯一区别是结果的命名空间是另一个顺序。请注意,旧的和重构的 Web 服务位于不同的服务器上。命名空间的不同顺序似乎可以安全释放,所以这就是我们所做的......

今天,一位客户联系我,告诉我他们无法读取我们的结果,并指出这个命名空间问题是原因。这对我来说似乎很奇怪,因为他们必须有一个或多或少损坏的 XML 解析器才能得到这样的问题。但是,我会尝试隔离这一点,因为我们每小时都会损失很多钱。

我将我们的项目恢复到 .NET 3.5,但获得了相同的命名空间顺序。但是服务器之间的命名空间顺序似乎有所不同。

有谁知道为什么顺序不同?它与 .NET 版本、其他组件的版本有关还是只是随机的?

从服务器一:

<?xml version="1.0" encoding="utf-8"?>
<result xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://mydomain.com/">
...

从服务器二:

<?xml version="1.0" encoding="utf-8"?>
<result xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://mydomain.com/">
...

我有点卡住了...

4

0 回答 0