Server. Transfer vs Response. Redirect
Server in Response sta objekta v ASP. NET. Objekt strežnika zagotavlja metode in lastnosti za različne naloge, povezane s strežnikom. Prenos je metoda objekta strežnika in pošilja informacije o trenutnem stanju v drugo datoteko.asp v obdelavo. Objekt odziva opisuje metode in lastnosti, povezane z odgovorom strežnika. Preusmeritev je metoda objekta Response in brskalniku pošlje sporočilo, s katerim se poveže z drugim URL-jem. Čeprav se tako Server. Transfer kot Response. Redirect lahko uporabita za prenos uporabnika z ene strani na drugo, se razlikujeta v tem, kako dejansko izvajata to nalogo.
Kaj je Response. Redirect?
Redirect je metoda v objektu Response. Ko se pokliče metoda Response, pošlje kodo HTTP 302 in URL zahtevane spletne strani brskalniku uporabnikov. Koda HTTP 302 obvesti brskalnik uporabnikov, da se zahtevani vir nahaja pod drugim URL-jem. Ko brskalnik prejme kodo, odpre vir na novi lokaciji. Zahtevana spletna stran se lahko nahaja na istem strežniku kot stran, ki je vsebovala zahtevo, ali pa se nahaja na kakšnem drugem strežniku. Ko zahtevate spletno stran, ki se nahaja na istem strežniku kot trenutna stran, lahko uporabite način odziva, kot sledi:
Response. Redirect(“nextPage.html”);
Ko zahtevate spletno stran, ki se nahaja na drugem strežniku, lahko uporabite način odziva, kot sledi:
Response. Redirect(“https://www.newServer.com/newPage.aspx”);
Kaj je Server. Transfer?
Kot je bilo že omenjeno, je prenos metoda strežniškega objekta. Ko se pokliče metoda prenosa, se prvotna zahteva spremeni za prenos na drugo stran v istem strežniku. Ko je z uporabo Server. Transfer zahtevana nova stran, se URL, prikazan v spletnem brskalniku uporabnikov, ne spremeni. To je zato, ker se prenos zgodi na strani strežnika in brskalnik o prenosu ne ve. Z uporabo druge preobremenitve za Server. Transfer(string path, bool SaveForm) in nastavitvijo drugega parametra na true, so objavljene spremenljivke obrazca in poizvedbeni nizi lahko na voljo drugi strani.
Kakšna je razlika med Server. Transfer in Response. Redirect?
Čeprav se tako Server. Transfer kot Response. Redirect lahko uporabita za prenos uporabnika z ene strani na drugo, obstaja nekaj razlik med obema metodama. Poleg navidezne sintaktične razlike Response. Redirect opravi povratno potovanje do strežnika, medtem ko Server. Transfer spremeni fokus spletnega strežnika na drugo spletno stran. Zato je mogoče z uporabo Server. Transfer ohraniti vire strežnika. Po drugi strani se Response. Redirect lahko uporablja za preusmeritev uporabnika na spletno stran v drugem strežniku, medtem ko se lahko Server. Transfer uporablja samo 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 Response. Redirect spremeni URL v naslovni vrstici brskalnika, ko se dostopa do nove strani, pri uporabi Server. Transfer pa se prvotni URL ohrani in vsebina strani se samo zamenja. Zato ga uporabnik ne more uporabiti za dodajanje nove strani med zaznamke.