我不知道ASP
,我刚开始为一家大公司工作,并且在我的膝盖上放了一个asp-classic
网络应用程序的任务,但它不起作用。没有人知道它,显然我不允许写入IIS日志文件。到目前为止,似乎该程序失败了,因为据我所知,我在IE开发者控制台中可以看到的POST
ed HTTP参数,从未发送到服务器,也不能在Request.Form
中找到。有谁知道该怎么做以及如何打印Response.QueryString
我可以访问它的地方?
澄清:
我可以看到日志文件,但我无法添加自己的调试行,因为我习惯使用Linux上的PHP
和Apache
。我是一条脱离水的鱼。
证明程序失败的原因是有一个名为ASPXTOASP.ASP
的程序,我认为将.Net
请求参数转换为经典参数正在破坏。它获得了一个索引超出范围的异常,我认为这是因为它传递了一个空的查询字符串。当我试图在某个地方编写查询字符串时,它从未出现过。在哪里可以编写此查询字符串,我可以在哪里查看它?
我不确定我是否对Web应用程序的所有组件有足够的了解,可以将其组织到桌面上的工作版本中进行调试。
我刚刚使用Response.Write
和Response.End
将Request.QueryString
写入屏幕。它是空的。基于此以及紧接在中断之前的程序称为login.aspx
并且包括设置一些与AD身份验证有关的EV的事实我认为我的问题必须是身份验证配置问题。我们正在使用Active Directory
进行身份验证。任何人都可以告诉我有关IIS中的任何特定设置,我要求管理员/高级开发人员捅这可能解决这个问题吗?
答案 0 :(得分:1)
帮助您调试的一些想法:
1)如果您在实际网站上进行调试,可以将所有Request.Form值输出到HTML注释中,这样您的用户就不会受到影响。
<!-- <%
dim key
for each key in Request.Form
Response.Write key & "=" & Request.Form(key) & vbCrLf
next
%> -->
2)如果您可以使用Visual Studio在计算机上调试Web应用程序,请参阅this answer for how to debug ASP。
答案 1 :(得分:0)
根据我收到的反馈,对应用程序进行故障排除的最佳解决方案是尝试将查询字符串打印到浏览器,然后停止该程序。为此,我写了这样的话:
Response.Write("Query String: " & Request.QueryString)
Response.End
最终这让我发现我的参数已经消失了。查询字符串为空。我想我现在需要阅读有关消失HTTP参数的问题。