我有一个 WCF 服务,它占用了一些内存,大约 1GB。
它在本地托管在开发 asp.net 托管 (CassiniDev) 中。
当我更改代码并点击构建时,服务器不会停止工作。它实际上开始无缝地使用更新的代码,除了内存。
从它的外观来看,它只是在重建后使内存使用量翻了一番,所以我不太确定这里发生了什么。我的机器上的内存很少,所以有时这会导致整个系统冻结。
我想知道为什么它在开始更新 dll 后不运行一些 GC 收集,例如,导致内存大小加倍 def 听起来像是发生了一些有趣的事情。很明显,在重建之后,就无法再访问以前版本的服务了,所以如果它不会使内存使用量翻倍,而是使用相同的内存,这对我来说是有意义的。
编辑:我想当我们将更新的 dll 推送到服务目录时,这可以推广到内存管理,也用于 IIS 托管服务和开发。