在global.asax中有以下代碼,當存在404異常時,它將傳輸到靜態NotFound.aspx文件。這適用於我的開發機器,具有調試或發佈版本。將發佈版本部署到一個蔚藍應用服務時,不是獲取我的靜態NotFound.aspx文件,而是獲取僅包含文本的頁面:The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
Server.Transfer從Global.asax在部署到Azure時不工作
我已驗證靜態文件是否存在於天藍色的部署中。
在Global.asax中的代碼是:
protected void Application_Error(object sender, EventArgs e)
{
Exception exception = Server.GetLastError();
Response.Clear();
HttpException httpException = exception as HttpException;
if (httpException != null)
{
ErrorLogger.Log(httpException);
Server.ClearError();
switch (httpException.GetHttpCode())
{
case 404:
// page not found
Response.StatusCode = 404;
Server.Transfer("~/NotFound.aspx");
break;
default:
Response.StatusCode = 500;
Server.Transfer("~/Error.aspx");
break;
}
}
}
你不應該從被重定向'Global.asax'文件,你應該在我看來,一個單獨的類文件,你的日誌,而不是清除錯誤你也應該做這樣的事情'Exception ex = Server.GetLastError()',然後在那之後調用logging方法,例如在utils類中,並將'ex'作爲參數傳遞給logging方法 – MethodMan