在localhost上正常工作但有时在线失败

时间:2011-03-03 08:15:25

标签: .net asp.net iis proxy debugging

我有以下问题,我在运行本网站(本地)时创建一个网站我得到了正确的数据(例如我根据城市选择有一组城市,我得到了所需的数据),但是当我发布网站并在线尝试(我在本地之前尝试的相同条件下得到不正确的数据)..

我不知道是什么问题,我需要在线跟踪代码(在线调试代码)。以了解问题所在。

有什么建议如何处理这样的情况,代码在本地以正确的方式工作但有时在线失败??

note ::

我在线使用(https)..

我使用静态变量。(假设不会改变)但是在线这个变量的值正在改变并产生这个问题。

3 个答案:

答案 0 :(得分:2)

“不正确的数据”是随机垃圾(如未初始化的变量)还是合理的数据,而不是您期望的数据?

如果您使用XmlHttpRequest加载数据,请在浏览器javascript中检查跨域引用。 XmlHttpRequest中URL的方案,域名和端口号必须与包含HTML页面的URL匹配。浏览器不会对从localhost加载的页面强制执行与从“真实”URL加载的页面相同的域源安全策略。从localhost加载页面与从真实URL加载页面时,这可能会导致行为差异。

尝试从127.0.0.1而不是从localhost加载页面。如果问题在127.0.0.1上重复,但在localhost上没有,那么很可能在JavaScript中有某种跨域引用。浏览器对“localhost”域进行特殊处理,但不对127.0.0.1进行特殊处理,即使它映射到同一个东西。

答案 1 :(得分:1)

首先启用aspx页面的跟踪

<%@Page Trace =“[True | False]”%>

启用跟踪后,您可以确定问题的原因

答案 2 :(得分:0)

最后,我发现问题,我使用一些变量作为静态(我认为每个用户的静态成员)但它在内存中的所有用户之间共享,所以当我在本地尝试我的Web应用程序(一个用户)时没有出现错误,但是当我发布它时,不止一个用户,所以如果一个用户选择特定的城市和另一个用户后选择另一个城市(静态变量值改变,我得到不正确的数据。当我将静态更改为会话,问题是解决..

但是我想问一下如何在线调试并设置一个断点来跟踪代码并检测这样的错误..