首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“服务不响应控制功能”?使用IoC时

“服务不响应控制功能”?使用IoC时
EN

Stack Overflow用户
提问于 2013-06-25 18:53:12
回答 1查看 1.4K关注 0票数 1

我是卡塞尔温莎作为我的IoC和TopShelf来运行它作为服务。当我将它作为控制台应用程序运行时,它工作得很好。当安装它并将它作为服务运行时,过了一会儿,它给了我“该服务没有响应控制函数”。仅在Windows 8/Windows 2012上。它在Windows 7上运行得很好。

当我删除BuilContainer(),时,它在所有平台上都能正常工作。

我还让我的记录器在BuildContainer之前记录"a1“,然后再记录”a1“。"a0“将被记录,但"a1”在作为服务运行时不会被记录。

包括me在内的许多人都使用这种方法,它在Windows 7上工作,但在Windows 8/Windows 2012上不起作用

代码语言:javascript
复制
        BuildContainer(); // builds IWindsorContainer and registers component.

        HostFactory.Run(x =>
        {
            x.Service<IService>(config =>
            {
                config.ConstructUsing(o => Container.Resolve<IService>("myService"));
                config.WhenStarted(o => o.Start());
                config.WhenStopped(o => {o.Stop(); Container.Dispose();} );
            });

            x.RunAsLocalSystem();
            x.SetServiceName("ServiceName");
            x.SetDescription("ServiceDesc");
            x.SetDisplayName("ServiceDispName");

        });

怎么了?

谢谢,佩曼

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-26 01:19:23

最有可能的事情是让您的BuildContainer()花费太长时间,服务经理在说,“嗯,您太慢了”。在将应用程序作为控制台运行时没有时间限制。我不确定Windows版本之间是否更改了时间限制,以说明为什么只在Win8 8/2012上出错。在这些机器上也有可能使BuildContainer()比旧系统花费更长的时间。

假设我是对的,你怎么解决呢?如果不理解你在容器里做什么是很难说的。这看起来几乎完全像我的顶级服务的样子,所以你至少在正确的轨道上。也许你可以把容器里的事情推迟到以后再做?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17305319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档