Server. Transfer vs Response. Redirect
Server in Response sta predmeta v ASP. NET. Strežniški objekt ponuja metode in lastnosti za različne naloge, povezane s strežnikom. Prenos je metoda predmeta strežnika in pošlje informacije o trenutnem stanju v drugo datoteko.asp za obdelavo. Objekt odziva opisuje metode in lastnosti, povezane z odzivom strežnika. Preusmeritev je metoda predmeta Response in brskalniku pošlje sporočilo, s katerim se poveže z drugim URL-jem. Čeprav je mogoče Server. Transfer in Response. Redirect uporabiti za prenos uporabnika z ene strani na drugo, sta si različna po dejanskem izvajanju te naloge.
Kaj je Response. Redirect?
Preusmeritev je metoda v objektu Response. Ko se pokliče metoda Response, uporabnikovemu brskalniku pošlje kodo HTTP 302 in URL zahtevane spletne strani. Koda HTTP 302 obvesti brskalnik uporabnika, da se zahtevani vir nahaja pod drugim URL-jem. Ko brskalnik prejme kodo, odpre vir na novi lokaciji. Zahtevana spletna stran lahko prebiva na istem strežniku kot stran, ki je vsebovala zahtevo, ali pa bi lahko prebivala na drugem strežniku. Ko zahtevate spletno stran, ki prebiva na istem strežniku kot trenutna stran, se metoda odziva lahko uporabi na naslednji način:
Response. Redirect (“nextPage.html”);
Ko zahtevate spletno stran, ki prebiva na drugem strežniku, se metoda odziva lahko uporabi na naslednji način:
Response. Redirect (»https://www.newServer.com/newPage.aspx«);
Kaj je Server. Transfer?
Kot smo že omenili, je prenos metoda strežniškega predmeta. Ko je poklican način prenosa, se izvirna zahteva spremeni za prenos na drugo stran istega strežnika. Ko se s strežnikom Server. Transfer zahteva nova stran, se URL, prikazan v uporabnikovem spletnem brskalniku, ne spremeni. To je zato, ker se prenos zgodi na strani strežnika in brskalnik nima nobenega znanja o prenosu. Z uporabo druge preobremenitve za Server. Transfer (pot niza, bool saveForm) in nastavitvijo drugega parametra kot resničnega, so objavljene spremenljivke obrazca in nizi poizvedb na voljo drugi strani.
Kakšna je razlika med Server. Transfer in Response. Redirect?
Čeprav lahko Server. Transfer in Response. Redirect uporabimo za prenos uporabnika z ene strani na drugo, obstajata dve metodi med razlikama. Poleg navidezne sintaktične razlike Response. Redirect naredi povratno potovanje do strežnika, medtem ko Server. Transfer spremeni fokus spletnega strežnika na drugo spletno stran. Zato lahko z uporabo Server. Transfer ohranimo strežniške vire. Po drugi strani pa lahko Response. Redirect uporabimo za preusmeritev uporabnika na spletno stran v drugem strežniku, medtem ko Server. Transfer uporabimo le za preusmeritev uporabnika na spletne strani na istem strežniku. Tudi z uporabo Server. Transfer lahko nova stran dostopa do lastnosti prejšnje strani, vendar to ni mogoče z Response. Redirect. Poleg tega je odgovor. Preusmeritev spremeni URL v naslovni vrstici brskalnika, ko se dostopa do nove strani, vendar pri uporabi strežnika. Prenos izvirnega URL-ja se ohrani in vsebina strani se samo nadomesti. Tako ga uporabnik ne more uporabiti za zaznamek nove strani.