1

退職した開発者から継承した 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.
4

2 に答える 2

1

インストーラー コードを確認します。多くの場合、インストール内でカウンターが作成され (クライアント サイトの管理者権限で実行されます)、コードはカウンターが存在するかのようにそれらを使用しますが、作成しようとはしません。パーミッション。

ソースを取得して実行しようとすると、カウンター/カウンター クラスが存在しないため、すぐに失敗します。(または、カウンターが存在するかどうかを確認します/サービスでカウンターを作成するためのコードを記述した場合は、ローカル管理者がいます。)

前に見たので言及。

于 2009-12-08T16:35:54.630 に答える