代碼如下:
Response.StatusCode = 404; Response.SuppressContent = true; Context.ApplicationInstance.CompleteRequest();
1. 只返回404 Status Code,自定義404頁面在IIS的Error Pages中配置。
<httpErrors lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath"> <error statusCode="404" prefixLanguageFilePath="" path="D:\404.htm" responseMode="File" /> </httpErrors>
2. 設置Response.SuppressContent為true,以防有響應內容被發給客戶端。在我們的實際測試中發現,如果不設置Response.SuppressContent,在localhost中訪問時,會看到部分響應內容。
3. 以前喜歡用霸道的Response.End()強制中止當前線程,而用Context.ApplicationInstance.CompleteRequest()更溫和,也不會引發異常。