Fehler bei der Ausführung der untergeordneten Anforderung mit Server.transfer
Posted: 21 May 2025, 11:36
In unserer global.asax Datei haben wir:
Auf einem 404 Fehler wird der folgende Code ausgeführt:
Besuchen Sie diese Seite dient einer normalen 404 Antwortseite wie oben und wirft keine Ausnahmen aus.
Zeile 81 ist der context.server.transfer (.. Zeile.
Die innere Ausnahme lautet:
wobei Zeile 12 in den Zeilen von Page_load :
steht
Die Anfragen, die den Fehler werfen, sind normale HTTP -Anforderungen und Anträge auf Details über die Header usw. zeigt nichts, was zu ungewöhnlich aussieht. />
Code: Select all
protected void Application_Error()
{
Errors.Functions.HandleException(HttpContext.Current);
}
Code: Select all
context.Server.Transfer("~/pages/errors/404.aspx");
context.ClearError();
context.ApplicationInstance.CompleteRequest();
< /code>
Dies funktioniert für jede 404 -Ausnahme absolut in Ordnung. Wir sehen jedoch merkwürdige Anfragen in unseren Protokollen zu Pfaden, die nicht existieren, z. B. < /p>
https://www.example.com/en/meta.json
Code: Select all
TYPE: HttpException
BASE TYPE: ExternalException
MESSAGE: Error executing child request for /pages/errors/404.aspx.
SOURCE:
System.Web
STACK TRACE:
at System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride)
at System.Web.HttpServerUtility.Execute(String path, TextWriter writer, Boolean preserveForm)
at System.Web.HttpServerUtility.Transfer(String path, Boolean preserveForm)
at System.Web.HttpServerUtility.Transfer(String path)
at C3.Code.Controls.Application.Errors.Functions.HandleException(HttpContext context) in ...\HandleHTTPException.cs:line 81
Die innere Ausnahme lautet:
Code: Select all
TYPE: NullReferenceException
BASE TYPE: SystemException
MESSAGE:
Object reference not set to an instance of an object.
SOURCE:
C3Alpha2
STACK TRACE:
at C3.Pages.Errors._404.Page_Load(Object sender, EventArgs e) in ...\Pages\Errors\404.aspx.cs:line 12
at System.Web.UI.Control.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
steht
Code: Select all
public partial class _404 : System.Web.UI.Page
{
public Master_Pages.Main MP => (Master_Pages.Main) Master;
protected void Page_Load(object sender, EventArgs e)
{
MP.IsErrorPage = true;
MP.SEOPageHeader.Title = "File not found";
}
}
Code: Select all
Ahhhh nuts!
We Couldn't Find That!
The server returned an HTTP 404 error. That requested URL could not be found.