1

Windows サービスまたはスタンドアロン コンソールの両方で実行できるアプリケーションがあります。クライアントのサーバーにリモートで展開されます。サーバーにリモート デスクトップで接続するときは、アプリケーションの Windows サービス構成を実行するために使用するのと同じドメイン アカウントを使用します。したがって、アプリケーションを Windows サービスまたはコンソールとして実行することは、まったく同じ資格情報の下で行われます。またはそれは?問題は、コンソールが「メッセージ キュー システムへのアクセスが拒否されました」という例外をスローすることですが、Windows サービスにはこれに関する問題はありません。MSMQ システムにアクセスするアプリケーションのすべての機能は、Windows サービスとコンソールの両方で使用される .dll にカプセル化されているため、ここでも違いはありません。

何を変更する必要があるかについてのアイデアはありますか?

4

2 に答える 2

1

MSMQ (セキュリティに関する要件のない愚かなデータ交換アプリケーション) と対話する Windows サービスを作成しました。

コンピューターの管理のメッセージ キューのプロパティ ウィンドウを使用して、認証されていない RPC 呼び出しを無効にする必要がありました。それ以外の場合は をスローしSystem.Messaging.MessageQueueException (0x80004005): Access to Message Queuing system is deniedます。

また、サービスは Local System で実行されます (私が覚えているのはデフォルトです)。

ここに画像の説明を入力

于 2014-09-18T13:58:11.873 に答える
0

サービス/コンソールを実行しているユーザーは、MSMQ にアクセスできる必要があります。これがあなたのインスタンスに当てはまるかどうかを確認してください。

于 2013-12-19T16:35:05.293 に答える