[ACCEPTED]-Server.Transfer() Vs. Server.Execute()-asp.net
Original at : Difference between Server.Transfer and Server.Execute
Both Server.Transfer and 16 Server.Execute were introduced in Classic 15 ASP 3.0 (and still work in ASP.NET).
When 14 Server.Execute is used, a URL is passed 13 to it as a parameter and the control moves 12 to this new page. Execution of code happens 11 on the new page. Once code execution gets 10 over, the control returns to the initial 9 page, just after where it was called. However, in 8 the case of Server.Transfer, it works very 7 much the same, the difference being the 6 execution stops at the new page itself (means 5 the control isn't returned to the calling 4 page).
In both the cases, the URL in the 3 browser remains the first page URL (doesn't 2 refresh to the new page URL) as the browser 1 isn't requested to do so.
I know this is old but it came up as the 13 1st or 2nd hit when I searched on google. I 12 did some testing and wanted to post the 11 results.
I created a website with 2 pages. Page 10 Load on the 1st page contained the code..
try {
//Response.Redirect("~/WebForm2.aspx");
//Server.Transfer("~/WebForm2.aspx");
//Server.Execute("~/WebForm2.aspx");
//Server.TransferRequest("~/WebForm2.aspx");
string strTry = "Try";
} catch (Exception ) {
string strCatch = "Catch";
} finally {
string strFinally = "Finally";
}
The 9 sequence of what it did for each is what 8 was really interesting...
Command Sequence Redirect Call, Catch (ThreadAbortException), Finally, Load Page 2 Transfer Call, Load Page 2, Catch (ThreadAbortException), Finally Execute Call, Load Page 2, Try (continues), Finally TransferRequest Call, Try (continues), Finally, Load Page 2
.. So it may help 7 to know what order you like things to occur 6 in.
Personally I like the idea of the current 5 code finishing, BEFORE the next page's code 4 starts. So either Redirect or TransferRequest, although 3 with the latter, you may have to add a "return" just 2 below your call if you really intended for 1 it not to execute the rest of the try block.
More Related questions
We use cookies to improve the performance of the site. By staying on our site, you agree to the terms of use of cookies.