gpt4 book ai didi

c# - 从 Windows 服务托管的 WCF 端点的问题

转载 作者:太空宇宙 更新时间:2023-11-03 16:54:21 24 4
gpt4 key购买 nike

我有托管几个 WCF 端点的托管 Windows 服务。该服务设置为在 PC 重新启动时自动启动。重新启动后,我发现这行代码:

ServiceHost wcfHost1 = new ServiceHost(typeof(WCFHost1));

在服务的 OnStart() 方法中,执行时间大约在 15 到 20 秒之间。实际上我有两个这样的语句,但第二个是瞬间执行的。这是第一个需要这么长时间的。有谁知道可能导致瓶颈的原因是什么?因此,有时调用会超过 30 秒,结果 SCM 认为我的服务在尝试初始化时超时。现在,我知道我可以很容易地分离出一个线程来执行此操作并立即从 OnStart() 返回,但我想知道是什么导致了这种延迟。

这种情况在 PC 重启时服务启动时发生。如果 PC 已启动并正在运行,该服务将在不到一秒的时间内启动和停止。

最佳答案

This可能会提供更多帮助。基本上,我认为您需要弄清楚您有哪些依赖项并将它们添加到您的服务中,以便它们在您之前启动。

这只是瞎猜,但可能是 .net 框架尚未加载。或许,您可以尝试将自动启动设置为延迟自动启动,这将允许.net 框架和其他 Windows 服务有时间启动。

此外,当 .net 应用程序启动时,它会使用即时编译器进行编译。这可能正在等待 .net 对其进行编译。

最后,根据您使用的 WCF 实例的类型,您可能会遇到构造函数初始化需要一段时间的问题。

希望这对您有所帮助。

关于c# - 从 Windows 服务托管的 WCF 端点的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2726256/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com