【问题标题】:WCF ServiceActivationExceptionWCF 服务激活异常
【发布时间】:2015-03-07 23:22:38
【问题描述】:

我在我们的一些环境中不断看到这个错误:

System.ServiceModel.ServiceActivationException:对服务的请求 在 '~/TmpServ.svc' 无法调度,因为虚拟 '/TmpServ' 处的应用程序正在关闭。

--- 内部异常堆栈跟踪结束--- at System.ServiceModel.ServiceHostingEnvironment.HostingManager.FailActivationIfRecyling(字符串 标准化虚拟路径)在 System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(字符串 normalizedVirtualPath, EventTraceActivity eventTraceActivity) 在 System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(字符串 relativeVirtualPath, EventTraceActivity eventTraceActivity)

我们使用的是 IIS 7; Web 服务器上的负载很低,但每天仍会出现几次错误。

有什么建议吗?

【问题讨论】:

    标签: wcf iis-7


    【解决方案1】:

    在 IIS 中:增加进程模型/空闲超时或将空闲超时操作设置为挂起。将回收/定期时间间隔(分钟)设置为 0。

    如果可以,请使用 Windows 服务来托管您的 WCF 服务。

    【讨论】:

    • 回收/常规时间间隔具有默认值(1740 分钟),空闲超时设置为几个小时(但错误仍然比该值频繁得多)。第二个选项据我了解,这意味着重新思考服务的架构。我想知道问题的根本原因。
    • 您可以随时添加更多日志记录。启用 WCF 日志记录,这可能会为您提供更多信息。
    • 在 IIS 中,Generate Recycle Event Log Entry 的所有选项均已启用。无论如何,我知道只有“ISAPI Report Unhealthy”才有用。上述错误来自 Windows 事件日志。
    • 这是您配置WCF Tracing & Logging 的方式。事件日志没有那么有用。
    猜你喜欢
    • 2012-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多