我在WCF服务中使用Simple Injector。从VS2010运行它一切都很好。但是,当我使用IIS 7将其发布到我的服务器时,经过一段时间(20分钟,计算)后,我的WCF丢失了容器中所有已注册的程序集,模块和类。
我想IIS会回收WCF服务应用程序池并丢弃我的容器注册。
任何人都可以帮我这个吗?
答案 0 :(得分:1)
虽然存在许多使用自托管WCF服务的合法案例,但是,仅仅因为IIS回收而接近自托管可能会适得其反。
在IIS中托管可以在开发和日常操作中为您带来很多好处,而且我不会重复您在Google搜索中可以轻松找到的好处。
因此,当IIS收到您的应用程序的第一个请求时,它将启动名为" w3wp.exe"的工作进程。根据与您的Web应用程序关联的应用程序池中的设置。默认情况下,IIS将在20分钟的空闲时间内关闭。检查应用程序池的高级设置,您将找到生命周期的大量设置。通过开箱即用的自托管,您不会获得如此灵活性和稳健性。
所以基本上你可以有一些选择,只要你决定继续使用IIS托管。