WCF中AppDomain的生命周期是多久?

4

一个AppDomain在WCF中的寿命是多长?

它是否与InstanceContextMode、ConcurrencyMode和/或AspNetCompatibilityRequirements RequirementsMode有关?

我想知道我的静态变量存在的时间以及它们需要重新创建的频率。

1个回答

7

WCF实际上并不控制应用程序域的生存期,而是由主机来控制。如果您在Windows服务中托管,则是服务的生存期。如果您在IIS中托管,则是应用程序池的生存期,该生存期受到基于其配置方式的各种回收的影响。


谢谢,我明白了。在IIS的情况下,如果我的InstanceContextMode是PerCall或PerSession,那么它们会共享一个AppDomain吗? - SGarratt
它们都在同一个AppDomain中实例化,只是在服务实例级别上获得隔离。因此,如果您的服务类中有静态变量,则所有实例都将共享该静态变量。 - Drew Marsh
感谢您的澄清。我已经进行了深入的搜索,甚至阅读了Juval Lowy的书,但他几乎没有提到AppDomains - 至少在这个上下文中很少有人提到。 - SGarratt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接