Server. Transfer vs Response. Redirect
Ang Server at Response ay parehong mga bagay sa ASP. NET. Nagbibigay ang object ng server ng mga pamamaraan at katangian para sa iba't ibang gawain na nauugnay sa isang server. Ang paglipat ay isang paraan ng object ng Server at nagpapadala ito ng impormasyon ng kasalukuyang estado sa isa pang.asp file para sa pagproseso. Ang object ng tugon ay naglalarawan ng mga pamamaraan at katangian na nauugnay sa tugon ng isang server. Ang pag-redirect ay isang paraan ng object na Response at nagpapadala ito ng mensahe sa browser na ginagawa itong kumonekta sa ibang URL. Kahit na parehong maaaring gamitin ang Server. Transfer at Response. Redirect upang ilipat ang isang user mula sa isang page patungo sa isa pa, iba ang mga ito sa kung paano nila aktwal na ginagampanan ang gawaing ito.
Ano ang Response. Redirect?
Ang Redirect ay isang paraan sa object na Response. Kapag tinawag ang paraan ng Pagtugon, ipinapadala nito ang HTTP code 302 at ang URL ng hiniling na web page sa browser ng mga user. Ang HTTP code 302 ay nagpapaalam sa browser ng mga gumagamit na ang hiniling na mapagkukunan ay matatagpuan sa ilalim ng ibang URL. Kapag natanggap ng browser ang code, binubuksan nito ang mapagkukunan sa bagong lokasyon. Ang hiniling na web page ay maaaring naninirahan sa parehong server bilang ang pahina na naglalaman ng kahilingan o maaaring ito ay naninirahan sa ilang iba pang server. Kapag humihiling ng web page na naninirahan sa parehong server tulad ng kasalukuyang page, ang paraan ng pagtugon ay maaaring gamitin tulad ng sumusunod:
Response. Redirect(“nextPage.html”);
Kapag humihiling ng web page na naninirahan sa ibang server, maaaring gamitin ang paraan ng pagtugon gaya ng sumusunod:
Response. Redirect(“https://www.newServer.com/newPage.aspx”);
Ano ang Server. Transfer?
Tulad ng nabanggit kanina, ang Transfer ay isang paraan ng Server Object. Kapag tinawag ang paraan ng Paglipat, ang orihinal na kahilingan ay binago upang ilipat sa ibang page sa parehong server. Kapag humiling ng bagong page gamit ang Server. Transfer, hindi nagbabago ang URL na ipinapakita sa web browser ng mga user. Ito ay dahil ang paglipat ay nangyayari sa gilid ng server at ang browser ay walang anumang kaalaman tungkol sa paglilipat. Sa pamamagitan ng paggamit ng pangalawang overload para sa Server. Transfer(string path, bool preserveForm) at pagtatakda ng pangalawang parameter bilang true, ang mga nai-post na variable ng form at mga string ng query ay maaaring gawing available sa pangalawang page.
Ano ang pagkakaiba ng Server. Transfer at Response. Redirect?
Kahit na parehong maaaring gamitin ang Server. Transfer at Response. Redirect upang ilipat ang isang user mula sa isang page patungo sa isa pa, may ilang pagkakaiba sa pagitan ng dalawang pamamaraan. Bukod sa maliwanag na pagkakaiba ng syntactical, ang Response. Redirect ay gumagawa ng roundtrip sa server, habang binabago ng Server. Transfer ang focus ng web server sa ibang web page. Samakatuwid, sa pamamagitan ng paggamit ng Server. Transfer, ang mga mapagkukunan ng server ay maaaring mapangalagaan. Sa kabilang banda, ang Response. Redirect ay maaaring gamitin upang i-redirect ang user sa isang web page sa ibang server samantalang ang Server. Transfer ay magagamit lamang upang i-redirect ang user sa mga web page sa parehong server. Sa pamamagitan din ng paggamit ng Server. Transfer, ang mga katangian ng nakaraang pahina ay maaaring ma-access ng bagong pahina ngunit hindi ito posible sa Response. Redirect. Bukod pa rito, binabago ng Response. Redirect ang URL sa address bar ng browser kapag ang bagong page ay na-access ngunit kapag ginagamit ang Server. Transfer ang orihinal na URL ay pinananatili at ang nilalaman ng pahina ay pinapalitan lamang. Kaya hindi ito magagamit ng user para i-bookmark ang bagong page.