我想知道回收工作进程 (IIS V 6.0) 对 IIS 中托管的 WCF 服务有什么影响(在性能、可用性等方面),我还想知道是否有最佳实践如何配置回收时间或请求数。
我也想知道被回收的Worker Process是否与实例化配置设置为Single的服务有关,是否每次回收后都必须重新实例化它?
谢谢!
最佳答案
http://msdn.microsoft.com/en-us/library/ms525803(VS.90).aspx备注:
回收应用程序时的注意事项
当应用程序被回收时, session 状态可能会丢失。在重叠回收过程中,也有可能出现多实例。
丢失 session 状态:许多 IIS 应用程序依赖于存储状态的能力。如果 IIS 6.0 自动关闭因空闲处理而超时的工作进程,或者如果它在回收期间重新启动工作进程,则可能导致状态丢失。
多实例的发生:在多实例中,一个进程的两个或多个实例同时运行。根据应用程序池的配置方式,一个工作进程的多个实例可能会运行,每个实例都可能加载和运行相同的应用程序代码。重叠回收的发生是多实例的一个示例,网络园也是如此,其中两个或多个进程为应用程序池提供服务,而不管回收设置如何。
如果您的应用程序无法在多实例环境中运行,您必须为一个应用程序池(这是默认值)只配置一个工作进程,并且如果正在使用应用程序池回收,则禁用重叠回收功能。
我鼓励您通读 MSDN 上与您的问题相关的那些文章,此外,它们应该有西类牙语翻译,以帮助解决有关难以理解英语和技术术语的问题。
关于c# - 回收 Worker 进程对 WCF 服务的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4189491/