![]() |
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也不能这样做。 |
![]() |
user1946932 · .Net正则表达式在所有字符前添加空格 5 月前 |
![]() |
TSDrake · 发布ASP。没有特定文件夹的.NET应用程序 6 月前 |
![]() |
Vengat Ramanan · 用户登录Asp时隐藏导航和页脚。网络核心 10 月前 |
![]() |
ramamoorthy_villi · 输入验证错误外键字段 10 月前 |
![]() |
Enderbyte09 · ASP。NET Core绝对拒绝在其他端口上托管 11 月前 |