2011-10-29 71 views
1

這次簡單的問題是,有沒有辦法在ASP.NET中設置一個十進制值HTTP Status Code而不是通用的int狀態碼?ASP.NET:設置一個十進制值Response.StatusCode

例子,我想設置一個 「需要403.4 SSL」,而不僅僅是一個403 ......

謝謝:)


**編輯

下方指向的評論我在正確的方向,我只需要設置Response.SubStatusCode。

回答

4

由標準HTTP僅定義3位數字結果代碼。你所看到的是IIS特定的,它是子狀態碼,它可以從HttpResponse.SubStatusCode屬性中設置和讀取。

從MSDN:

的SubStatusCode屬性僅在IIS 7.0,集成 管道模式支持,至少在.NET Framework 3.0版。 當您設置SubStatusCode屬性時,如果配置失敗請求跟蹤,則狀態將記錄在IIS 7.0上。不管是否配置了跟蹤,代碼都不會作爲最終的對請求的響應 的一部分發送。有關詳細信息,請參閱故障排除 失敗的請求在IIS 7.0中使用失敗的請求跟蹤。

+0

+1不知道SubStatusCode :) – Joao

+0

SubStatusCode只適用於使用IIS –

0

有沒有這樣的東西作爲小數HTTP Status Code

無論您試圖完成什麼,都不是使用HTTP狀態碼。

+0

http://en.wikipedia.org/wiki/HTTP_403有一個十進制值的完整狀態碼列表。該平臺具體(像只在IIS中有效)? – nokturnal

+0

我想我正在尋找狀態和子狀態代碼可能... – nokturnal

+0

不知道,但它肯定是平臺特定的。正如@Matthew所說* RFC 2616第6.1.1節說它必須是「3位整數結果代碼」。* – Joao

0

編號RFC 2616 section 6.1.1表示它必須是「3位整數結果代碼」。