2011-03-09 79 views
1

我試圖確定正確的狀態代碼以應用響應不爲空的地方。具有有效的xml字符串響應的HTTP狀態代碼

當用戶請求文件並且該文件不存在於服務器中時。用戶將以xml格式返回錯誤消息。我有我自己的日誌,但我想嘗試在IIS日誌中顯而易見。

當前IIS爲所有響應記錄狀態200。但是我想設置一個不同的狀態碼,就是服務器沒有找到這個文件。

問題是在單元測試期間,如果狀態碼不是200,我發現響應是空的。我試過了(410,206,204)。所以客戶端不會收到錯誤消息。

只是想知道是否有任何我可以設置的狀態碼,併發送錯誤消息。

我正在使用C#ASP.NET Web服務。

謝謝。

回答

1

你爲什麼要發送HTTP狀態碼而不是你自己的應用程序狀態碼?

IIS日誌永遠不會記錄您以XML返回的代碼,它只會記錄從服務於您的Web服務的服務器接收到的狀態代碼。就IIS而言,您的XML只是數據,除非您有特殊的處理程序或過濾器或已安裝的東西。否則,IIS將只關心你的HTTP響應頭的值。

編輯:
當你設置HTTP狀態代碼manaully服務器仍然將其中規定,只有200將通過一個完整的響應主體陪同HTTP規範的準則範圍內行事。

+0

我明白,我有我自己的應用程序狀態碼和日誌,但我想在IIS日誌中明顯地出現錯誤。我嘗試在響應頭中設置HTTP狀態碼(410,206,204),但使用這些代碼服務器不返回任何響應內容。所以它的xml錯誤信息或狀態碼。我正在努力實現這兩個目標。希望我很清楚 – fireBand

+0

@fireBand看到我的編輯 – squillman

0

HTTP/1.1 404 - 未找到是合適的 - 並且大多數服務器將允許您返回內容,因爲通常您想返回一個用戶可讀的HTML頁面,以表明您並未實際觸及真實頁。

相關問題