1
Я хочу реализовать 500 страниц ошибок для нескольких сайтов/нескольких языков, я следую this article.500 Пользовательские страницы ошибок
Но Application_Error
в Global.asax не стреляет. Вот мой код:
<%@ Application Language='C#' Inherits="Sitecore.ContentSearch.SolrProvider.CastleWindsorIntegration.WindsorApplication" %>
<script RunAt="server">
private void Application_Error(object sender, EventArgs e)
{
var customErrorsSection = (System.Web.Configuration.CustomErrorsSection)ConfigurationManager.GetSection("system.web/customErrors");
var lastException = Server.GetLastError();
if (customErrorsSection.Mode != System.Web.Configuration.CustomErrorsMode.Off)
{
try
{
// Log.Error("There was an error in the application", lastException);
Server.ClearError();
HttpContext.Current.Response.StatusCode = (int)System.Net.HttpStatusCode.InternalServerError;
Server.Transfer(string.Format("/Error/{0}_500.html", GetSafeLanguage()));
}
catch
{
}
}
}
private string GetSafeLanguage()
{
try
{
return Sitecore.Context.Language.CultureInfo.TwoLetterISOLanguageName;
}
catch
{
}
return string.Empty;
}
</script>
Я вижу эти потенциальные проблемы: 1) 'RunAt' должно быть написано ведомый как 'runat'; 2) Убедитесь, что класс 'WindsorApplication' наследуется от' System.Web.HttpApplication'; 3) Попробуйте поместить свои методы в класс, который у вас есть в Global.asax.cs, вместо того, чтобы иметь их внутри '