Server. Transfer vs Response. Redirect
A kiszolgáló és a válasz egyaránt objektum az ASP. NET-ben. A Kiszolgáló objektum módszereket és tulajdonságokat biztosít a szerverrel kapcsolatos különféle feladatokhoz. Az átvitel a Server objektum egyik módszere, és az aktuális állapot információit elküldi egy másik.asp fájlba feldolgozás céljából. Válaszobjektum leírja a szerver válaszához kapcsolódó módszereket és tulajdonságokat. Az átirányítás a Response objektum egyik módszere, és üzenetet küld a böngészőnek, ezzel kapcsolódva egy másik URL-hez. Annak ellenére, hogy a Server. Transfer és a Response. Redirect egyaránt felhasználható a felhasználók egyik oldalról a másikra történő átvitelére, különböznek attól, hogy valójában hogyan hajtják végre ezt a feladatot.
Mi az a Response. Redirect?
Az átirányítás egy módszer a Válasz objektumban. A Response metódus meghívásakor elküldi a 302 HTTP kódot és a kért weboldal URL-jét a felhasználók böngészőjéhez. A 302 HTTP kód tájékoztatja a felhasználók böngészőjét arról, hogy a kért erőforrás egy másik URL alatt található. Amikor a böngésző megkapja a kódot, megnyitja az erőforrást az új helyen. A kért weboldal ugyanazon a szerveren tartózkodhat, mint az az oldal, amely tartalmazza a kérést, vagy más szerveren is lehet. Amikor egy weboldalt kér, amely ugyanazon a kiszolgálón található, mint az aktuális, a Válasz metódus az alábbiak szerint használható:
Response. Redirect („nextPage.html”);
Ha egy másik szerveren található weboldalt igényel, a Válasz metódus az alábbiak szerint használható:
Response. Redirect („https://www.newServer.com/newPage.aspx”);
Mi a Server. Transfer?
Mint korábban említettük, az Transfer a Server Object egyik módszere. Az Átviteli módszer meghívásakor az eredeti kérés módosul, hogy átkerüljön ugyanazon kiszolgáló másik oldalára. Amikor új oldalt kér a Server. Transfer használatával, a felhasználók webböngészőjében látható URL nem változik. Ennek oka, hogy az átvitel a szerver oldalon történik, és a böngészőnek nincsenek ismeretei az átvitelről. A Server. Transfer második túlterhelésének használatával (karakterlánc elérési útja, bool keepForm) és a második paraméter igaznak beállításával a közzétett űrlapváltozók és lekérdezési karakterláncok elérhetővé válhatnak a második oldalon.
Mi a különbség a Server. Transfer és a Response. Redirect között?
Annak ellenére, hogy a Server. Transfer és a Response. Redirect egyaránt felhasználható a felhasználó egyik oldalról a másikra történő átvitelére, van néhány különbség a két módszer között. A látszólagos szintaktikai különbség mellett a Response. Redirect oda-vissza irányt tesz a szerverre, míg a Server. Transfer a webkiszolgáló fókuszát egy másik weboldalra változtatja. Ezért a Server. Transfer használatával meg lehet őrizni a kiszolgáló erőforrásait. Másrészt a Response. Redirect felhasználható a felhasználó átirányítására egy másik szerver weboldalára, míg a Server. Transfer csak a felhasználó átirányítására szolgál ugyanazon a szerveren található weboldalakra. A Server. Transfer használatával is az előző oldal tulajdonságait az új oldal elérheti, de ez a Response. Redirect használatával nem lehetséges. Továbbá Válasz. Az átirányítás megváltoztatja az URL-t a böngésző címsorában az új oldal elérésekor, de a Szerver használatakor. Az eredeti URL átvitele megmarad, és az oldal tartalma csak kicserélődik. Tehát a felhasználó nem használhatja az új oldal könyvjelzővé tételére.