HttpServerUtility.Transfer Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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 .