Server. Transfer және Response. Redirect
Сервер және Жауап екеуі де ASP. NET жүйесіндегі нысандар. Сервер нысаны серверге қатысты әртүрлі тапсырмалар үшін әдістер мен сипаттарды қамтамасыз етеді. Transfer – бұл сервер объектісінің әдісі және ол ағымдағы күй туралы ақпаратты өңдеу үшін басқа.asp файлына жібереді. Response нысаны сервер жауабына қатысты әдістер мен сипаттарды сипаттайды. Қайта бағыттау - Response нысанының әдісі және ол басқа URL мекенжайына қосылуға мүмкіндік беретін шолғышқа хабарлама жібереді. Пайдаланушыны бір беттен екіншісіне тасымалдау үшін Server. Transfer және Response. Redirect екеуі де пайдаланылуы мүмкін болса да, олар бұл тапсырманы орындау тәсілімен ерекшеленеді.
Response. Redirect дегеніміз не?
Қайта бағыттау - Response нысанындағы әдіс. Response әдісі шақырылғанда, ол HTTP кодын 302 және сұралған веб-беттің URL мекенжайын пайдаланушылардың шолғышына жібереді. HTTP коды 302 пайдаланушы браузеріне сұралған ресурс басқа URL мекенжайында орналасқанын хабарлайды. Браузер кодты алған кезде ресурсты жаңа жерде ашады. Сұралған веб-бет сұрауды қамтитын бетпен бір серверде орналасуы мүмкін немесе ол басқа серверде тұруы мүмкін. Ағымдағы бетпен бір серверде орналасқан веб-бетті сұрау кезінде Жауап әдісін келесідей пайдалануға болады:
Response. Redirect(“nextPage.html”);
Басқа серверде орналасқан веб-бетті сұрау кезінде Жауап әдісін келесідей пайдалануға болады:
Response. Redirect(“https://www.newServer.com/newPage.aspx”);
Server. Transfer дегеніміз не?
Бұрын айтылғандай, Transfer сервер нысанының әдісі болып табылады. Тасымалдау әдісі шақырылғанда, бастапқы сұрау сол сервердегі басқа бетке тасымалдау үшін өзгертіледі. Server. Transfer арқылы жаңа бет сұралғанда, пайдаланушылардың веб-шолғышында көрсетілген URL мекенжайы өзгермейді. Бұл тасымалдау сервер жағында орын алатындықтан және браузерде тасымалдау туралы ешқандай ақпарат жоқ. Server. Transfer(жол жолы, bool preserveForm) үшін екінші шамадан тыс жүктеуді пайдалану және екінші параметрді шын деп орнату арқылы жарияланған пішін айнымалылары мен сұрау жолдарын екінші бетке қолжетімді етуге болады.
Server. Transfer және Response. Redirect арасындағы айырмашылық неде?
Сервер. Тасымалдау және Response. Redirect екеуі де пайдаланушыны бір беттен екіншісіне тасымалдау үшін пайдаланылуы мүмкін болса да, екі әдіс арасында кейбір айырмашылықтар бар. Көрінетін синтаксистік айырмашылықтан басқа, Response. Redirect серверге айналмалы сапар жасайды, ал Server. Transfer веб-сервердің фокусын басқа веб-бетке өзгертеді. Сондықтан Server. Transfer пайдалану арқылы сервер ресурстарын сақтауға болады. Екінші жағынан Response. Redirect пайдаланушыны басқа сервердегі веб-бетке қайта бағыттау үшін пайдаланылуы мүмкін, ал Server. Transfer пайдаланушыны бір сервердегі веб-беттерге қайта бағыттау үшін ғана пайдаланылуы мүмкін. Сондай-ақ Server. Transfer пайдалану арқылы алдыңғы беттің сипаттарын жаңа бет арқылы ашуға болады, бірақ бұл Response. Redirect арқылы мүмкін емес. Қосымша, Response. Redirect браузердің мекенжай жолағындағы URL мекенжайын жаңа бетке қол жеткізген кезде өзгертеді, бірақ Server. Transfer пайдаланған кезде түпнұсқа URL мекенжайы сақталады және бет мазмұны жай ғана ауыстырылады. Сондықтан пайдаланушы оны жаңа бетке бетбелгі қою үшін пайдалана алмайды.