ASP.net 页面被关闭后,服务器端是否仍然执行中?
问题:当一个正在执行中的ASPX页面执行到一半的时候,浏览器中你关闭了这个页面,服务器端对应的这个页面的代码仍然在执行么?
答案:除非你代码里面做了特殊判断,否则仍然正在执行。
注意点:
1、客户端显示页面的时候,后台已经执行完了的页面对象早已经不存在了。当然这时候谈不上服务器段执行不执行的问题了。
2、页面还没有返回,处于等待状态的时候。关闭ASPX页面,才会涉及到上面提到的服务器端仍然在执行的情况。
3、客户端关闭的时候根本不向服务器发送指令。
4、除非你代码里面做了特殊判断,这里的特殊判断指用 if(!Response.IsClientConnected) 来检测状态而用代码终止运行。
下面的简单代码就是演示关闭页面后,看是否仍然在执行?
你可以在这个页面打开后, 还没有返回任何信息的时候把这个页面关闭,然后看指定目录下是否有对应文件被创建并填写内容。
protected void Page_Load(object sender, EventArgs e)
{
StringBuilder txt = new StringBuilder();
txt.AppendLine();
txt.AppendLine(DateTime.Now.ToString("u"));
txt.AppendLine("asvd");
Response.Write(DateTime.Now.ToString("u"));
Response.Write("
\r\n");
Thread.Sleep(50000);
txt.AppendLine(DateTime.Now.ToString("u"));
Response.Write(DateTime.Now.ToString("u"));
Response.Write("
\r\n");
// 把一些信息写到另外一个文件,借此察看是否正在运行
string dir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "logs");
if (!Directory.Exists(dir))
Directory.CreateDirectory(dir);
DateTime dt = DateTime.Now;
string shortfileName = string.Format("errors_{0:0000}{1:00}{2:00}.log", dt.Year, dt.Month, dt.Day);
string fileName = Path.Combine(dir, shortfileName);
StreamWriter sw;
if (File.Exists(fileName))
sw = File.AppendText(fileName);
else
sw = File.CreateText(fileName);
sw.Write(txt.ToString());
sw.Close();
sw = null;
相关文档:
本文目录:
1.membership简介
2.membership在sql server中的设置
3.配置web.config
4.创建用户CreateUserWizard控件
5.用户登录login控件
6.显示当前用户的名称LoginName控件
7.检测用户的身份验证状态的LoginStatus控件
8.为不同类别用户呈现不同内容的LoginView控件
9.更改密码的ChangePassword控件
10 ......
1.bin添加引用ChineseConverter.dll
2. 添加using Microsoft.International.Converters.TraditionalChineseToSimplifiedConverter;
string strTest = "繁體字";
Response.Write(string.Format("繁体输出:{0}<br/>", ChineseConverter.Convert(strTest, ChineseCon ......
当你是从百度或google搜索 关键词"ASP.NET核心技术",".NET核心技术"过来的话,我很想鄙视你一下,真的,因为我遇到太多的这样的人了,"ASP.NET核心技术",".NET核心技术"这样的问题真的没必要问,有意思吗,基础弄懂了吗,精通了asp.net吗,还不如问问"ASP.NET基础是什么",基础都没有弄懂,就一天到晚在那追求核心是什么,这些 ......