在没有对 IIS 日志的写入权限的情况下进行调试
Debug without write access to IIS logs
我不知道 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 中的任何特定设置,我要求 admins/senior 开发人员戳一下可能会解决此类问题?
一些帮助您调试的想法:
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。
根据我收到的反馈,对应用程序进行故障排除的最佳解决方案是尝试将查询字符串打印到浏览器,然后停止程序。为此,我写了这样的东西:
Response.Write("Query String: " & Request.QueryString)
Response.End
最后这让我发现我的参数不见了。查询字符串为空。我想我现在需要阅读有关消失的 HTTP 参数的问题。
我不知道 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 中的任何特定设置,我要求 admins/senior 开发人员戳一下可能会解决此类问题?
一些帮助您调试的想法:
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。
根据我收到的反馈,对应用程序进行故障排除的最佳解决方案是尝试将查询字符串打印到浏览器,然后停止程序。为此,我写了这样的东西:
Response.Write("Query String: " & Request.QueryString)
Response.End
最后这让我发现我的参数不见了。查询字符串为空。我想我现在需要阅读有关消失的 HTTP 参数的问题。