在 global.asax 的 Application_Start() 方法中,我们可以知道应用的完全启动,但是有时候我们只是改动小部分的时候,例如 web.config 更新了,或 bin\中我们的 dll 文件更新了,在程序中怎么知道这种更细微的变量。在 global.asax 中 Application_Start() 不会被 web.config 的更新所触发,有什么好的办法呢?
解决方案 »
- 怎么解决ExecuteNonQuery()至少一个参数没有被指定值。
- 用photoshop做了一张图片,怎样把它转换成gif格式或者jpg格式的(在线等)
- |zyciis| 第二贴 PropertyInfo的GetType和PropertyType有什么区别,再问一下GetProperty如何区分大小写,谢谢
- ==========2台电脑和程序如何同步?请大家说一下==========
- sitemappath
- PowerDesiner中实体的关系~
- 在GridView中用CSS实现超长字段被省略不行
- 请问怎么操作datalist模板中的按钮?小妹在线等
- 怎样在字符串里加上回车?
- 如何验证textbox里输入的是符合日期型的字符串?
- 如何动态的传值
- 分页 not in改max是怎么改的啊?
web.config 的更新必然会重启程序
如果不重启, 新的配置是无法读取到的
用下面的代码实验下吧: protected void Application_Start(Object sender, EventArgs e)
{
File.AppendAllText(Server.MapPath("~/AppStartLog.txt"), DateTime.Now.ToString() + "\n");
}
我测试上有误,改了 web.config 和或更新了 cs 文件后,Application_Start() 不会立即执行,而是有新的请求到来时才触发它,这应该是合理的。另外改动了 aspx 文件中的 cs 代码是不会引起应用的重启的,因为 aspx 中的代码应该是被解释执行的
如果不是,则没必要想这个问题,因为IIS已经做到了除此之外,当网站下的目录被删除,也会使程序重启
这无容置疑!!当然改动了aspx文件中的cs代码是不会引起应用的重启!!
cs代码在首次被访问时被编译成一个程序集,即使cs改动过,也不会导致应用程序重启,只不过重新再次编译一遍而已;app_code中的cs代码也是如此