Տարբերություն սերվերի փոխանցման և պատասխանի միջև

Տարբերություն սերվերի փոխանցման և պատասխանի միջև
Տարբերություն սերվերի փոխանցման և պատասխանի միջև

Video: Տարբերություն սերվերի փոխանցման և պատասխանի միջև

Video: Տարբերություն սերվերի փոխանցման և պատասխանի միջև
Video: Մոսկվայի և Կարսի պայմանագրեր. ինչպես գծվեց հայ-թուրքական ներկայիս սահմանը | Բացատրում է Լազարյանը 2024, Հուլիսի
Anonim

Server. Transfer vs Response. Redirect

Սերվերը և պատասխանը երկուսն էլ օբյեկտներ են ASP. NET-ում: Սերվերի օբյեկտը տրամադրում է մեթոդներ և հատկություններ սերվերի հետ կապված տարբեր առաջադրանքների համար: Փոխանցումը Սերվերի օբյեկտի մեթոդ է և այն ուղարկում է ընթացիկ վիճակի տեղեկատվությունը մեկ այլ.asp ֆայլ՝ մշակման համար: Արձագանքման օբյեկտը նկարագրում է սերվերի պատասխանի հետ կապված մեթոդներն ու հատկությունները: Վերահղումը Response օբյեկտի մեթոդն է և այն հաղորդագրություն է ուղարկում դիտարկիչին՝ ստիպելով այն միանալ այլ URL-ի: Թեև և Server. Transfer-ը և Response. Redirect-ը կարող են օգտագործվել օգտվողին մի էջից մյուսը տեղափոխելու համար, դրանք տարբերվում են իրականում այս առաջադրանքը կատարելու հարցում:

Ի՞նչ է Response. Redirect?

Վերահղումը Response օբյեկտի մեթոդ է: Երբ Response մեթոդը կանչվում է, այն ուղարկում է HTTP կոդը 302 և հայցվող վեբ էջի URL-ը օգտվողների դիտարկիչին: HTTP 302 կոդը տեղեկացնում է օգտվողների դիտարկիչին, որ պահանջվող ռեսուրսը գտնվում է այլ URL-ի տակ: Երբ զննարկիչը ստանում է կոդը, այն բացում է ռեսուրսը նոր վայրում: Հայցվող վեբ էջը կարող է գտնվել նույն սերվերում, ինչ էջը, որը պարունակում է հարցումը, կամ այն կարող է բնակվել որևէ այլ սերվերում: Ընթացիկ էջի հետ նույն սերվերի վրա գտնվող վեբ էջ հայցելիս Response մեթոդը կարող է օգտագործվել հետևյալ կերպ.

Response. Redirect(«nextPage.html»);

Այլ սերվերի վրա բնակվող վեբ էջ խնդրելու դեպքում պատասխանի մեթոդը կարող է օգտագործվել հետևյալ կերպ.

Response. Redirect(«https://www.newServer.com/newPage.aspx»);

Ի՞նչ է Server. Transfer?

Ինչպես նշվեց ավելի վաղ, փոխանցումը սերվերի օբյեկտի մեթոդ է:Երբ կանչվում է Փոխանցման մեթոդը, սկզբնական հարցումը փոփոխվում է՝ նույն սերվերի մեկ այլ էջ փոխանցելու համար: Երբ Server. Transfer-ի միջոցով նոր էջ է պահանջվում, օգտվողների վեբ բրաուզերում ցուցադրված URL-ը չի փոխվում: Դա պայմանավորված է նրանով, որ փոխանցումը կատարվում է սերվերի կողմից, և զննարկիչը որևէ տեղեկություն չունի փոխանցման մասին: Օգտագործելով Server. Transfer-ի երկրորդ ծանրաբեռնվածությունը (string path, bool saveForm) և սահմանելով երկրորդ պարամետրը որպես ճշմարիտ, տեղադրված ձևի փոփոխականները և հարցումների տողերը կարող են հասանելի լինել երկրորդ էջի համար:

Ո՞րն է տարբերությունը Server. Transfer-ի և Response. Redirect-ի միջև:

Չնայած Server. Transfer-ը և Response. Redirect-ը կարող են օգտագործվել օգտվողին մի էջից մյուսը տեղափոխելու համար, այնուամենայնիվ, կան որոշ տարբերություններ երկու մեթոդների միջև: Բացի ակնհայտ շարահյուսական տարբերությունից, Response. Redirect-ը կատարում է շրջադարձ դեպի սերվեր, մինչդեռ Server. Transfer-ը փոխում է վեբ սերվերի կենտրոնացումը մեկ այլ վեբ էջ:Հետևաբար, օգտագործելով Server. Transfer-ը, սերվերի ռեսուրսները կարող են պահպանվել: Մյուս կողմից, Response. Redirect-ը կարող է օգտագործվել օգտվողին այլ սերվերի վեբ էջ վերահղելու համար, մինչդեռ Server. Transfer-ը կարող է օգտագործվել միայն նույն սերվերի վեբ էջերին օգտվողին վերահղելու համար: Նաև օգտագործելով Server. Transfer-ը, նախորդ էջի հատկությունները կարող են մուտք գործել նոր էջ, սակայն Response. Redirect-ի միջոցով դա հնարավոր չէ: Բացի այդ, Response. Redirect-ը փոխում է URL-ը բրաուզերի հասցեագոտում, երբ մուտք է գործում նոր էջ, բայց երբ օգտագործվում է Server-ը: Տեղափոխել սկզբնական URL-ը պահպանվում է, և էջի բովանդակությունը նոր է փոխարինվում: Այսպիսով, օգտվողը չի կարող օգտագործել այն նոր էջը էջանշելու համար:

Խորհուրդ ենք տալիս: