Windows服务启动然后停止

时间:2009-12-08 16:30:40

标签: windows-services workflow-foundation wcf wcf-proxy

我有一个Windows服务,我是从一个离开的开发人员那里继承的。 Windows服务在QA环境中运行良好。当我安装服务并在本地运行它时,我收到此错误:

无法启动服务。 System.InvalidOperationException:请求的性能计数器不是自定义计数器,必须初始化为ReadOnly。

以下是代码:

ExternalDataExchangeService exchangeService = new ExternalDataExchangeService();
            workflowRuntime.AddService(exchangeService);
            workflowRuntime.AddService(new SqlTrackingService(AppContext.SqlConnectionImportLog));
            ChallengerWorkflowService challengerWorkflowService = new ChallengerWorkflowService();
            challengerWorkflowService.SendDataEvent += new EventHandler<SendDataEventArgs>(challengerWorkflowService_SendDataEvent);
            workflowRuntime.AddService(challengerWorkflowService);
            workflowRuntime.StartRuntime(); <---- Exception is thrown here.

2 个答案:

答案 0 :(得分:1)

检查安装程序代码。通常你会发现计数器是在一个安装中创建的(它将在客户端站点上的admin privledges下运行),然后代码就像它们存在一样使用它们 - 但不会尝试创建它们,因为它们不希望有权限。

如果您只是获取源代码然后尝试运行它,则计数器/计数器类不存在,因此您会立即崩溃。 (或者检查计数器是否存在/如果他们编写代码以在服务中创建它,则您有本地管理员。)

在提到它之前看过它。

答案 1 :(得分:0)

附加调试器并中断InvalidOperationException(第一次机会,即抛出时)?