zoukankan      html  css  js  c++  java
  • asp.net中为什么修改了配置文件后我们不需要重启IIS

    本文转载:http://blog.itpub.net/12639172/viewspace-659819/

    大家知道,asp.net中,如果我们修改了配置文件只要把它保存之后,就会立刻反应到程序中,

    并不需要我们重启IIS。甚至我们可以在不停止IIS的情况下,直接替换应用程序下的文件,包括我们

    编译好的dll文件等,你需要做的只是替换你变换了的文件而已。那么.net是怎么做到的呢?

          这要归功于.net的应用程序域机制,应用程序域是比进程小的程序元单位,也就是说一个

    进程中可以包含多个应用程序域。而各个域之间是独立的,不共享内存,也就是说各种静态变量

    等在不同的域之间是不共享的。

          有了应用程序域,事情就好办了,当我们更改配置文件或者替换了一个核心的dll之后,这时.net

    的监控系统会报告我们的所作所为,于是处理asp.net的进程会为改修后的应用程序重新创建一个应用程序域,这个

    新的域会把所有的改动都反应进来,这时如果在有Request进来,就会使用新的域进行处理,而原有的

    域会被销毁掉。

          实际上各个应用程序域使用的并不是我们配置在各虚拟目录下的dll文件,对于2.0,3.0,3.5来说真正使用的

    是C:WINDOWSMicrosoft.NETFrameworkv2.0.50727Temporary ASP.NET Files目录下的文件,

    所以我们才能直接替换dll等文件。

  • 相关阅读:
    django 笔记4 数据库操作
    html关于不换行代码
    之前搭建的jenkins的一些笔记
    pip报错
    ssh 免密及加密远程脚本实现
    今天了解了些redis和memcached的知识
    django 笔记3
    来选择一款适合你网站的CMS建站程序吧
    如何预防和检测网页挂马?
    网页挂马方式
  • 原文地址:https://www.cnblogs.com/51net/p/3959406.html
Copyright © 2011-2022 走看看