gpt4 book ai didi

c# - 应用域刷新/重启

转载 作者:太空宇宙 更新时间:2023-11-03 11:21:07 26 4
gpt4 key购买 nike

我正在编写一个网络服务并有以下观察结果:即使我只是将一个文本文件添加到存储 web 服务引用的所有 dll 的目录 (bin),appdomain 也会刷新。

这会导致存储在字典(在其中一个 dll 中)中的所有用户 session 被删除。

例如,如果上面的字典包含在一个 dll 中,比如 sessiondict.dll,而我正在替换另一个与 sessiondict.dll 没有任何依赖关系的 dll,那么为什么这个数据会丢失?

我错过了什么吗?

编辑:

虽然我正在阅读更多关于 AppDomain 重启的内容,但是,我还没有弄清楚为什么设计是这样的,即使在 bin 文件夹中添加一个文本文件也会导致 appdomain 重启。

最佳答案

这是标准行为——只要触摸 bin 目录中的任何内容(以及其他位置,例如 web.config),您的应用程序域就会回收。

您不应该将数据存储在 bin 目录中。您还应该知道,默认情况下 IIS 会定期回收应用程序域,除非您告诉它不要这样做(我相信默认情况下每天一次)。

由于无论如何都无法替换应用程序的一部分,我不确定这样做的正当理由是什么?

This post很好地解释了导致 AppDomain 回收的原因。

关于c# - 应用域刷新/重启,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10983102/

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