HttpServerUtility.Transfer Metódus

Definíció

Leállítja az aktuális lap végrehajtását, és elindítja egy új lap végrehajtását az aktuális kéréshez.

Túlterhelések

Name Description
Transfer(String)

Az aktuális kérés esetén leállítja az aktuális lap végrehajtását, és elindítja egy új lap végrehajtását a lap megadott URL-címének használatával.

Transfer(String, Boolean)

Leállítja az aktuális lap végrehajtását, és elindítja egy új lap végrehajtását a lap megadott URL-címének használatával. Megadja, hogy törölje-e a gyűjteményeket és Form a QueryString gyűjteményeket.

Transfer(IHttpHandler, Boolean)

Leállítja az aktuális lap végrehajtását, és elindítja egy új kérés végrehajtását egy egyéni HTTP-kezelővel, amely implementálja a IHttpHandler felületet, és megadja, hogy törölje-e a gyűjteményeket és Form a QueryString gyűjteményeket.

Transfer(String)

Az aktuális kérés esetén leállítja az aktuális lap végrehajtását, és elindítja egy új lap végrehajtását a lap megadott URL-címének használatával.

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

Paraméterek

path
String

A kiszolgáló új lapjának URL-címe.

Megjegyzések

Az átvitt lapnak egy másik .aspx lapnak kell lennie. Például egy .asp vagy .asmx lapra való átvitel érvénytelen. A Transfer metódus megőrzi a gyűjteményeket és Form a QueryString gyűjteményeket.

Transfer hívásokat End, amelyek kivételt ThreadAbortException képeznek a befejezéskor.

ASP.NET nem ellenőrzi, hogy az aktuális felhasználó jogosult-e a Transfer metódus által szállított erőforrás megtekintésére. Bár a ASP.NET engedélyezési és hitelesítési logika az eredeti erőforrás-kezelő meghívása előtt fut, ASP.NET közvetlenül meghívja a Transfer metódus által jelzett kezelőt, és nem futtatja újra az új erőforrás hitelesítési és engedélyezési logikáját. Ha az alkalmazás biztonsági szabályzata megköveteli, hogy az ügyfelek megfelelő engedéllyel rendelkezzenek az erőforrás eléréséhez, az alkalmazásnak újrahitelesítést kell kényszerítenie, vagy egyéni hozzáférés-vezérlési mechanizmust kell biztosítania.

A metódus helyett a Redirect metódus használatával kényszerítheti az újrahitelesítést Transfer . A Redirect metódus ügyféloldali átirányítást hajt végre, amelyben a böngésző kéri az új erőforrást. Mivel ez az átirányítás egy új kérés, amely belép a rendszerbe, az Internet Information Services (IIS) és ASP.NET biztonsági szabályzat összes hitelesítési és engedélyezési logikájának ki van téve.

A metódust használó IsInRole egyéni engedélyezési módszer beépítésével ellenőrizheti, hogy a felhasználó rendelkezik-e engedéllyel az erőforrás megtekintéséhez, mielőtt az alkalmazás meghívja a metódust Transfer .

A következőre érvényes:

Transfer(String, Boolean)

Leállítja az aktuális lap végrehajtását, és elindítja egy új lap végrehajtását a lap megadott URL-címének használatával. Megadja, hogy törölje-e a gyűjteményeket és Form a QueryString gyűjteményeket.

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)

Paraméterek

path
String

A kiszolgáló új lapjának URL-címe.

preserveForm
Boolean

truea gyűjtemények és Form gyűjtemények QueryString megőrzéséhez; false a gyűjtemények és Form gyűjtemények QueryString törléséhez.

Kivételek

Az aktuális lapkérelem visszahívás.

Példák

Az alábbi példa egy új lapot hajt végre ugyanabban a könyvtárban, mint az aktuális lap.

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

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

Megjegyzések

Az átvitt lapnak egy másik .aspx lapnak kell lennie. Például egy .asp vagy .asmx lapra való átvitel érvénytelen.

Transfer hívásokat End, amelyek kivételt ThreadAbortException képeznek a befejezéskor.

Ha ezt a preserveForm paramétert trueállítja be, a céllap a tulajdonság használatával PreviousPage hozzáférhet az előző oldal nézetállapotához.

Biztonsági okokból az attribútumot a enableViewStateMac következő értékre kell állítania true: . ASP.NET nem ellenőrzi, hogy az aktuális felhasználó jogosult-e a Transfer metódus által szállított erőforrás megtekintésére. Bár a ASP.NET engedélyezési és hitelesítési logika az eredeti erőforrás-kezelő meghívása előtt fut, ASP.NET közvetlenül meghívja a Transfer metódus által jelzett kezelőt, és nem futtatja újra az új erőforrás hitelesítési és engedélyezési logikáját. Ha az alkalmazás biztonsági szabályzata megköveteli, hogy az ügyfelek megfelelő engedéllyel rendelkezzenek az erőforrás eléréséhez, az alkalmazásnak újrahitelesítést kell kényszerítenie, vagy egyéni hozzáférés-vezérlési mechanizmust kell biztosítania.

A metódus helyett a Redirect metódus használatával kényszerítheti az újrahitelesítést Transfer . A Redirect metódus ügyféloldali átirányítást hajt végre, amelyben a böngésző kéri az új erőforrást. Mivel ez az átirányítás egy új kérés, amely belép a rendszerbe, az Internet Information Services (IIS) és ASP.NET biztonsági szabályzat összes hitelesítési és engedélyezési logikájának ki van téve.

A metódust használó IsInRole egyéni engedélyezési módszer beépítésével ellenőrizheti, hogy a felhasználó rendelkezik-e engedéllyel az erőforrás megtekintéséhez, mielőtt az alkalmazás meghívja a metódust Transfer .

A következőre érvényes:

Transfer(IHttpHandler, Boolean)

Leállítja az aktuális lap végrehajtását, és elindítja egy új kérés végrehajtását egy egyéni HTTP-kezelővel, amely implementálja a IHttpHandler felületet, és megadja, hogy törölje-e a gyűjteményeket és Form a QueryString gyűjteményeket.

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)

Paraméterek

handler
IHttpHandler

Az a HTTP-kezelő, amely megvalósítja az IHttpHandler aktuális kérés átvitelét.

preserveForm
Boolean

truea gyűjtemények és Form gyűjtemények QueryString megőrzéséhez; false a gyűjtemények és Form gyűjtemények QueryString törléséhez.

Kivételek

Az aktuális lapkérelem visszahívás.

Megjegyzések

Egyéni HTTP-kezelőket írhat a HTTP-kérések meghatározott, előre definiált típusainak feldolgozásához bármely olyan nyelven, amely megfelel a Common Language Specification (CLS) szabványnak. A HTTP-kezelőosztályokban definiált végrehajtható kód a hagyományos ASP-(más néven klasszikus ASP-) lapok vagy ASP.NET lapok helyett válaszol ezekre a kérésekre. A HTTP-kezelők lehetővé teszik az Internet Information Services (IIS) rendszert futtató webkiszolgálók alacsony szintű kérés- és válaszszolgáltatásainak kezelését, és olyan funkciókat biztosítanak, amelyek hasonlóak az ISAPI-bővítményekhez, de egyszerűbb programozási modellel rendelkeznek.

Ha ezt a preserveForm paramétert trueállítja be, a céllap a tulajdonság használatával PreviousPage hozzáférhet az előző oldal nézetállapotához.

Biztonsági okokból az attribútumot a enableViewStateMac következő értékre kell állítania true: . ASP.NET nem ellenőrzi, hogy az aktuális felhasználó jogosult-e a Transfer metódus által szállított erőforrás megtekintésére. Bár a ASP.NET engedélyezési és hitelesítési logika az eredeti erőforrás-kezelő meghívása előtt fut, ASP.NET közvetlenül meghívja a Transfer metódus által megjelölt kezelőt, és nem futtatja újra az új erőforrás hitelesítési és engedélyezési logikáját. Ha az alkalmazás biztonsági szabályzata megköveteli, hogy az ügyfelek megfelelő engedéllyel rendelkezzenek az erőforrás eléréséhez, az alkalmazásnak újrahitelesítést kell kényszerítenie, vagy egyéni hozzáférés-vezérlési mechanizmust kell biztosítania.

A metódus helyett a Redirect metódus használatával kényszerítheti az újrahitelesítést Transfer . A Redirect metódus ügyféloldali átirányítást hajt végre, amelyben a böngésző kéri az új erőforrást. Mivel ez az átirányítás egy új kérés, amely belép a rendszerbe, az IIS és ASP.NET biztonsági szabályzat összes hitelesítési és engedélyezési logikájának ki van téve.

A metódust használó IsInRole egyéni engedélyezési módszer beépítésével ellenőrizheti, hogy a felhasználó rendelkezik-e engedéllyel az erőforrás megtekintéséhez, mielőtt az alkalmazás meghívja a metódust Transfer .

A következőre érvényes: