1
1
ASP.NET无法在不重新启动应用程序的情况下卸载旧程序集,但它可以忽略旧程序集并开始使用页面的新编译版本。编译并加载新程序集(实际上包含整个文件夹,而不仅仅是一个已更改的页面),随后的请求使用该新程序集。 通过在页面中写出程序集名称,可以看到程序集的更改:
在不同文件夹中有两个页面时,您将看到更改的页面移动到新程序集,而另一个页面不受影响。 为了避免用旧程序集逐渐填满内存,应用程序将偶尔重新启动以响应更改。默认情况下,这是每15次更改一次,不过您可以在web.config中使用
|
2
1
Steve的答案在很大程度上是准确的,尽管所描述的行为(文件更改时的程序集生成)是以默认值为基础的 compilationMode=始终 ;您可以避免与 编译模式=从不 . 作为旁白,请注意还有一个 new attribute available in 3.5 尽管它与以前重新启动应用程序(如web.config)的顶级更改特别相关:
|
3
0
ASP.NET计算文件的哈希值,并在文件更改时重新编译它们 由于.NET无法卸载程序集而不卸载整个AppDomain,因此ASP.NET也不能这样做。 |
Haim Ohayon · 这些链接之间有什么区别? 2 年前 |