C#程序执行的逻辑先后问题?

来源:百度知道 编辑:UC知道 时间:2024/07/06 22:10:27
登录页面程序,描述如下:

SqlConnection conn =……;
conn.Open();
SqlCommand cmd = ……;

第一步,登录判断,用户名密码吻合,建立Session登录状态;

第二步,写入cookie(在用户要求的情况下);

第三步,Response.Redirect("用户个人中心")

cmd.Dispose();
conn.Close();
conn.Dispose();

很奇怪的问题,如果把第二步和第三步的执行顺序调换一下,建立Session登录状态后,直接跳转到个人中心,那么cookie程序就不会执行写入了,这是怎么回事?
很显然,如果我的猜想不错的话,执行Response.Redirect后,Response.Redirect后面的代码便不再执行,那么接下来的关闭连接和释放资源都不再执行了,是这样吗?

页面跳转之后.前一个页面的页面对象就被释放掉了.那么页面中的代码也被从内存中移除了.肯定不会执行的..把第三步放到最后执行.把连接都关闭了最后再跳转就完了.

Response.Redirect()
这个跳转函数后面的代码都不执行的,原因和楼上说得一样!

楼上正解!