У меня есть веб-сайт ASP.NET, который хранит сессии в SQL Server.Я специально отключил базы данных сеансов от работы, чтобы убедиться, что мои страницы ошибок показываются пользователям.
Мой Web.config:
<system.webServer>
<httpErrors errorMode="DetailedLocalOnly" existingResponse="Replace">
<remove statusCode="404" subStatusCode="13" />
<error statusCode="404" subStatusCode="13" prefixLanguageFilePath="" path="LargeFileError.aspx" responseMode="Redirect" />
<remove statusCode="500" />
<error statusCode="500" path="Error.aspx" responseMode="ExecuteURL"/>
</httpErrors>
</system.webServer>
<system.web>
<customErrors mode="On" defaultRedirect="/Error.aspx" redirectMode="ResponseRewrite">
<error statusCode="500" redirect="Error.aspx" />
</customErrors>
</system.web>
Мой global.asax:
protected void Application_Error(object sender, EventArgs e)
{
Exception exception = Server.GetLastError();
Response.Clear();
Server.ClearError();
Response.Redirect("Error.aspx");
}
Моя страница Error.aspx - это простая страница, в которой есть только локализованная строка.Следовательно, я не смогу сделать его html-страницей.
Я продолжаю получать эту ошибку:
"Основной поставщик не удалось открыть."
Вы можете сказать, что существует множество решений по переполнению стека для этой ошибки, но моя проблема здесь состоит в том, чтобы показать страницы ошибок (страница aspx, когда сессия db не работает), а не решить эту ошибку.
Даже когда я перехожу на страницу error.aspx напрямую, я получаю эту ошибку.Мне нужен способ сообщить Asp.Net и IIS, что мне не нужна информация о сеансе для этой конкретной страницы.
Как мне решить эту проблему и убедиться, что страница с моей ошибкой отображается.