代码之家  ›  专栏  ›  技术社区  ›  John K

ASP.NET网站项目何时重新编译?

  •  4
  • John K  · 技术社区  · 6 年前

    作为 Maurico codeka 首先,不要使用默认值 InProc sessions 如果你不想你的会话受到网站重新编译和应用程序回收的影响。

    导致整个网站重新编译的原因列表:

    1. 默认情况下,当对 顶级文件 在网站中,整个网站都会重新编译。顶级文件包括 全球.asax 垃圾箱/ 应用程序代码/

    2. 修改 web.config

    3. 配置包括文件更改,如果 SectionInformation.RestartOnExternalChanges property

      <部分 name=“MyAppSettings” type=“System.Configuration.appsettings节,System.Configuration,版本=2.0.0.0,区域性=neutral,PublicKeyToken=b03f5f7f11d50a3a” 餐厅下一个外部更改 =" 是的 " requiremission=“假”/>

    • 如果希望能够在不重新编译整个站点的情况下更改顶级文件,可以设置 optimizeCompilations attribute 将Web.config文件中的编译元素设置为true

    参考文献:


    哪里的信息告诉的变化和文件,导致网站项目(不是web应用程序项目)重新编译本身的种类?

    我之所以这么问是因为我们不希望用户失去他们的会话。因此,我们想更新现场网站与可推荐的变化只在凌晨,但更愿意在白天作出改变,以加快他们。我们确实会先升级到一个暂存服务器并在那里观看,但事先有一个明确的列表会很好。

    1 回复  |  直到 8 年前
        1
  •  6
  •   Dean Harding    15 年前

    不仅在重新编译网站时,而且在回收IIS工作进程时,都会丢失会话。从技术上讲,这是可能发生的 随时

    ASP.NET附带了一个内置的“状态服务器”,它只是一个存储会话状态的windows服务。另一种选择是使用SQLServer会话状态存储。