其他机器上的VB.Net不同

时间:2015-06-03 22:41:14

标签: vb.net

这让我疯了好几天了。降低几台服务器的成本,更不用说我的理智了。我已经缩小了问题的范围,但我不知道原因。

我的脚本从不同的网站提取数据并进行比较。它可以在本地和我的笔记本电脑上工作(两者都是Windows 7终极版),但是在各种不同的系统(主要是虚拟的)和几种不同版本的Windows上 - 它的工作方式不同。工具正常加载,浏览器加载相同的数据,但似乎对使用它感到厌烦。

它的读法相同。我可以用同样的方式将它转储到msgbox中。它不会像在本地那样写入数组或列表框。

所以这就是它出错的地方。

因为数据并不总是存在,所以我使用stringsplit:

Dim parts As String() = readertest.Split(New String() {Environment.NewLine},
                                               StringSplitOptions.None)

我已经浏览了转储输出的不同系统,以确保Environment.NewLine不是不同的,并且一切正常并且顺序相同。

之后就是差异开始的地方:

为了处理数据总是存在的事实,我会计算零件数组的大小。

If parts.Count = 13 Then 'Full box.
firstdata = parts(5)
seconddata = parts(6)

parts.count返回13。 部分(5)和部分(6)都读出相同的值。那是正常的。这就是你所期望的。

但在那里如果parts.count = 13,它会将数据写入数组和列表框。在当地工作正常。这就是它在服务器上崩溃的地方。

为什么这会有所不同?

/编辑:

在整个读取之后我只是转储了数组。有数据。为什么数组中的数据。写入数组是有效的,出于某种原因,其他系统不会显示它进入列表框?

其他列表框使用不同的数据。

1 个答案:

答案 0 :(得分:-1)

感谢ceres建议。

答案是服务器上的区域设置。当我的本地系统是英国时,他们将设置为美国。

没有任何比较或任何会导致编码问题的事情,所以我不知道它为什么会起作用,但它现在在所有服务器上正常运行。