2015-07-01 110 views
0

我不知道ASP,我剛剛開始爲一家大公司工作,並有一個asp-classic網絡應用程序的任務傾倒在我的腿上,它不起作用。沒有人知道它,顯然我不允許寫入IIS日誌文件。到目前爲止,程序似乎失敗了,因爲據我所知,在IE開發人員控制檯中可以看到的HTTP參數在發送時絕不會發送到服務器,並且無法在其Request.Form中找到。有誰知道該怎麼做,我怎麼能打印出我可能有權訪問的Response.QueryString調試沒有寫訪問IIS日誌

澄清

  1. 我可以看到日誌文件,但是因爲我習慣用PHPApache在Linux上,我不能添加自己的調試線。我是一條脫水的魚。

  2. 證明該程序失敗的是,有一個程序叫做ASPXTOASP.ASP,我認爲將.Net請求參數變成經典參數是破的。它得到一個索引越界異常,我認爲這是因爲它傳遞了一個空的查詢字符串。當我試圖寫查詢字符串的地方它從來沒有出現過。我在哪裏可以寫這個查詢字符串,我可以查看它?

  3. 我不確定我對Web應用程序的所有組件知之甚少,無法將其組織成我的桌面上的工作版本進行調試。

  4. 我剛剛使用Response.WriteResponse.End來將Request.QueryString寫入屏幕。它是空的。基於這一點以及緊接在中斷之前的程序被稱爲login.aspx幷包含設置一些電動汽車與AD身份驗證有關的事實,我認爲我的問題必須是身份驗證配置問題。我們使用Active Directory進行身份驗證。任何人都可以告訴我有關IIS中的任何特定設置,我要求管理員/高級開發人員捅問哪些可以解決此類問題?

+2

「我不允許寫入IIS日誌文件。」 - IIS服務器應該寫日誌文件,而不是你。你可以聯繫IIS服務器管理員?或者可能您有權訪問IIS控制檯? 「到目前爲止,該計劃似乎失敗了」 - 你有沒有得到任何錯誤?「我可以在IE開發者控制檯中發送的信息永遠不會發送到服務器,並且無法在Request.Form中找到」 - 您可以在計算機上運行本地網站副本嗎? – Zam

+0

我會根據您的反饋編輯我的問題。 – broguesquadron

回答

0

根據我收到的反饋,對應用程序進行故障排除的最佳解決方案是嘗試將查詢字符串輸出到瀏覽器,然後停止程序。要做到這一點,我寫了這樣的東西:

Response.Write("Query String: " & Request.QueryString) 
Response.End 

最終,這讓我發現我的參數已經消失。查詢字符串是空的。我想我現在需要閱讀關於消失HTTP參數的問題。

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

+0

或者,只需在ASP文件中放入STOP命令,然後在Visual Studio中調試腳本。 – Zam

+0

@ Zam:ASP中沒有「停止」命令。你的意思是'Response.End'? – Martha

+0

@Martha - 你說得對,STOP不是命令,STOP是VBScript語句。請閱讀https://msdn.microsoft.com/en-us/library/ms525253%28v=vs.90%29.aspx – Zam