HttpServerUtility.Transfer Metod

Definition

Avslutar körningen av den aktuella sidan och startar körningen av en ny sida för den aktuella begäran.

Överlagringar

Name Description
Transfer(String)

För den aktuella begäran avslutar körningen av den aktuella sidan och startar körningen av en ny sida med hjälp av den angivna URL-sökvägen till sidan.

Transfer(String, Boolean)

Avslutar körningen av den aktuella sidan och startar körningen av en ny sida med hjälp av den angivna URL-sökvägen till sidan. Anger om samlingarna och QueryString ska rensasForm.

Transfer(IHttpHandler, Boolean)

Avslutar körningen av den aktuella sidan och startar körningen av en ny begäran med hjälp av en anpassad HTTP-hanterare som implementerar IHttpHandler gränssnittet och anger om samlingar och QueryString ska rensasForm.

Transfer(String)

För den aktuella begäran avslutar körningen av den aktuella sidan och startar körningen av en ny sida med hjälp av den angivna URL-sökvägen till sidan.

public:
 void Transfer(System::String ^ path);
public void Transfer(string path);
member this.Transfer : string -> unit
Public Sub Transfer (path As String)

Parametrar

path
String

URL-sökvägen till den nya sidan på servern som ska köras.

Kommentarer

Sidan som överförs till bör vara en annan .aspx sida. En överföring till en .asp- eller .asmx-sida är till exempel inte giltig. Metoden Transfer bevarar samlingarna QueryString och Form .

Transfer anropar End, vilket utlöser ett ThreadAbortException undantag när det är klart.

ASP.NET kontrollerar inte att den aktuella användaren har behörighet att visa resursen som levereras av metoden Transfer. Även om ASP.NET auktoriserings- och autentiseringslogik körs innan den ursprungliga resurshanteraren anropas anropar ASP.NET direkt hanteraren som anges av metoden Transfer och kör inte autentiserings- och auktoriseringslogik för den nya resursen igen. Om programmets säkerhetsprincip kräver att klienter har rätt behörighet att komma åt resursen bör programmet framtvinga omauktorisering eller tillhandahålla en anpassad mekanism för åtkomstkontroll.

Du kan framtvinga omauktorisering med hjälp Redirect av metoden i stället för Transfer metoden. Metoden Redirect utför en omdirigering på klientsidan där webbläsaren begär den nya resursen. Eftersom den här omdirigeringen är en ny begäran som kommer in i systemet, omfattas den av all autentiserings- och auktoriseringslogik för både Internet Information Services (IIS) och ASP.NET säkerhetsprincip.

Du kan kontrollera att användaren har behörighet att visa resursen genom att använda en anpassad auktoriseringsmetod som använder IsInRole metoden innan programmet anropar Transfer metoden.

Gäller för

Transfer(String, Boolean)

Avslutar körningen av den aktuella sidan och startar körningen av en ny sida med hjälp av den angivna URL-sökvägen till sidan. Anger om samlingarna och QueryString ska rensasForm.

public:
 void Transfer(System::String ^ path, bool preserveForm);
public void Transfer(string path, bool preserveForm);
member this.Transfer : string * bool -> unit
Public Sub Transfer (path As String, preserveForm As Boolean)

Parametrar

path
String

URL-sökvägen till den nya sidan på servern som ska köras.

preserveForm
Boolean

true för att bevara samlingarna QueryString och Form för false att rensa samlingarna QueryString och Form .

Undantag

Den aktuella sidbegäran är ett återanrop.

Exempel

I följande exempel körs en ny sida i samma katalog som den aktuella sidan.

Server.Transfer("Logon.aspx", true);

Server.Transfer("Logon.aspx", true)

Kommentarer

Sidan som överförs till bör vara en annan .aspx sida. En överföring till en .asp- eller .asmx-sida är till exempel inte giltig.

Transfer anropar End, vilket utlöser ett ThreadAbortException undantag när det är klart.

Om du anger parametern preserveForm till truekommer målsidan att kunna komma åt visningstillståndet för föregående sida med hjälp PreviousPage av egenskapen .

Av säkerhetsskäl bör du ha attributet inställt på enableViewStateMactrue. ASP.NET kontrollerar inte att den aktuella användaren har behörighet att visa resursen som levereras av metoden Transfer. Även om ASP.NET auktoriserings- och autentiseringslogik körs innan den ursprungliga resurshanteraren anropas anropar ASP.NET direkt hanteraren som anges av metoden Transfer och kör inte autentiserings- och auktoriseringslogik för den nya resursen igen. Om programmets säkerhetsprincip kräver att klienter har rätt behörighet att komma åt resursen bör programmet framtvinga omauktorisering eller tillhandahålla en anpassad mekanism för åtkomstkontroll.

Du kan framtvinga omauktorisering med hjälp Redirect av metoden i stället för Transfer metoden. Metoden Redirect utför en omdirigering på klientsidan där webbläsaren begär den nya resursen. Eftersom den här omdirigeringen är en ny begäran som kommer in i systemet, omfattas den av all autentiserings- och auktoriseringslogik för både Internet Information Services (IIS) och ASP.NET säkerhetsprincip.

Du kan kontrollera att användaren har behörighet att visa resursen genom att använda en anpassad auktoriseringsmetod som använder IsInRole metoden innan programmet anropar Transfer metoden.

Gäller för

Transfer(IHttpHandler, Boolean)

Avslutar körningen av den aktuella sidan och startar körningen av en ny begäran med hjälp av en anpassad HTTP-hanterare som implementerar IHttpHandler gränssnittet och anger om samlingar och QueryString ska rensasForm.

public:
 void Transfer(System::Web::IHttpHandler ^ handler, bool preserveForm);
public void Transfer(System.Web.IHttpHandler handler, bool preserveForm);
member this.Transfer : System.Web.IHttpHandler * bool -> unit
Public Sub Transfer (handler As IHttpHandler, preserveForm As Boolean)

Parametrar

handler
IHttpHandler

DEN HTTP-hanterare som implementerar IHttpHandler för att överföra den aktuella begäran till.

preserveForm
Boolean

true för att bevara samlingarna QueryString och Form för false att rensa samlingarna QueryString och Form .

Undantag

Den aktuella sidbegäran är ett återanrop.

Kommentarer

Du kan skriva anpassade HTTP-hanterare för att bearbeta specifika, fördefinierade typer av HTTP-begäranden på alla språk som är kompatibla med CLS (Common Language Specification). Körbar kod som definieras i HTTP-hanteringsklasserna i stället för konventionella ASP-sidor (kallas även klassisk ASP) eller ASP.NET sidor svarar på dessa specifika begäranden. HTTP-hanterare gör det möjligt att interagera med begäran- och svarstjänster på låg nivå för en webbserver som kör Internet Information Services (IIS) och de tillhandahåller funktioner som liknar ISAPI-tillägg men med en enklare programmeringsmodell.

Om du anger parametern preserveForm till truekommer målsidan att kunna komma åt visningstillståndet för föregående sida med hjälp PreviousPage av egenskapen .

Av säkerhetsskäl bör du ha attributet inställt på enableViewStateMactrue. ASP.NET kontrollerar inte att den aktuella användaren har behörighet att visa resursen som levereras av metoden Transfer. Även om ASP.NET auktoriserings- och autentiseringslogik körs innan den ursprungliga resurshanteraren anropas anropar ASP.NET direkt hanteraren som anges av metoden Transfer och kör inte autentiserings- och auktoriseringslogik för den nya resursen igen. Om säkerhetsprincipen för ditt program kräver att klienter har rätt behörighet att komma åt resursen, bör programmet framtvinga omauktorisering eller tillhandahålla en anpassad mekanism för åtkomstkontroll.

Du kan framtvinga omauktorisering med hjälp Redirect av metoden i stället för Transfer metoden. Metoden Redirect utför en omdirigering på klientsidan där webbläsaren begär den nya resursen. Eftersom den här omdirigeringen är en ny begäran som kommer in i systemet, omfattas den av all autentiserings- och auktoriseringslogik för både IIS och ASP.NET säkerhetsprincip.

Du kan kontrollera att användaren har behörighet att visa resursen genom att använda en anpassad auktoriseringsmetod som använder IsInRole metoden innan programmet anropar Transfer metoden.

Gäller för