So... I've found out that only pages can call Response.Redirect() and so I'm storing reference to Response class in static class. But when I'm trying to use response now to redirect, I'm getting this exception:
An exception of type 'System.ArgumentException' occurred in System.Web.dll but was not handled in user code
Additional information: Value does not fall within the expected range.
Redirect Function:
public static void Redirect(int code = 0)
{
UserData.Response.Redirect($"ApplicationError.aspx"); // UserData is static class and Response property is static member of type "HttpResponse"
}
Stack Trace:
at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
at System.Web.Hosting.IIS7WorkerRequest.SetKnownResponseHeader(Int32 index, String value, Boolean replace)
at System.Web.HttpHeaderCollection.SetHeader(String name, String value, Boolean replace)
at System.Web.HttpHeaderCollection.Set(String name, String value)
at System.Web.HttpResponse.UpdateNativeResponse(Boolean sendHeaders)
at System.Web.HttpResponse.Flush(Boolean finalFlush, Boolean async)
at System.Web.HttpResponse.Flush()
at System.Web.HttpResponse.End()
at System.Web.HttpResponse.Redirect(String url, Boolean endResponse, Boolean permanent)
at System.Web.HttpResponse.Redirect(String url)
at MatyWebsite.Pages.Errors.ApplicationError.Redirect(Int32 code) in [FilePath]:line 30
at MatyWebsite.Code.Database.Connect(String cs) in [FilePath]:line 49
at MatyWebsite.BlogMaster.Page_Load(Object sender, EventArgs e) in [FilePath]:line 18
at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
at System.Web.UI.Control.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Aucun commentaire:
Enregistrer un commentaire