gpt4 book ai didi

c# - 我可以有一段 App_Code 与文件夹的其余部分分开编译吗?

转载 作者:行者123 更新时间:2023-11-30 14:40:55 25 4
gpt4 key购买 nike

我们有一个网站,其中有大量缓存对象存储在 App_Code 的静态变量中。每当我们将 App_Code 更改推送到我们的生产网络服务器时,它都会回收 IIS 池并刷新缓存。但是,当我们推出对 .aspx 和 .aspx.cs 文件的更改时,它不会刷新缓存。

我需要有一堆每天更新几次的类,以便能够在 App_Code 中引用。我想要我的 App_Code 的一部分,我可以每天更新几次而无需循环 IIS 和刷新我的缓存,或者能够从 App_Code 内部引用 App_Code 外部的类。

是否有适合我的问题的解决方案?

最佳答案

我相信 App_Code 或/bin/的更新总是会回收您的应用程序池。如果您说您有一个部署方案,其中 .aspx.cs 文件更新不会回收您的应用程序池,并且如果您能够引用页面类型本身,也许您可​​以将代码移到 .aspx 中。 cs 文件,以防止回收发生。不过,这可能是一个丑陋的选择。

一个建议是修改您的设计以减少每天需要更新源代码的次数。也许使用 XML 或数据库存储,并将您的应用程序设计得更通用一些,并且不太容易进行二进制更新。

或者可能将您的应用程序划分为几个较小的虚拟应用程序。这样做的工作量可能更高,但在这种情况下,如果您的应用程序更加分隔,您将不必在每次部署时都回收整个应用程序。您只需回收受部署影响的模块。

另一个建议可能是设置集群服务器架构。安排部署以应用于一个集群节点,在计划的更新发生时仅保持另一个处于事件状态,然后在第一个节点更新完成后将更新转至第二个节点,应用程序池将被回收。

另一个建议是将您的部署时间更改为较少的非高峰时间(如果可行的话)。

频繁更新是否只是因为发生了很多开发更改?

关于c# - 我可以有一段 App_Code 与文件夹的其余部分分开编译吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4798086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com