2009-08-28 49 views
0

キューにアクセスしようとしましたが、アクセス拒否エラーが発生しました。混乱している部分は、誰もがフルコントロールと匿名とmachinename $(3つは完全に制御可能です - それは大きな問題ではないテストシステムです)に誰もできるようにセットアップされています。私は正常にキューに書き込むことはできますが、それをPeek/Read/Receiveすることはできません。 FormatNameメソッドの使用を提案している記事がありますが、残念ながら既にこれを行っています。MSMQアクセスが拒否されました

このキャッチは私のシステムが1つのADドメインにあり、テストサーバーが別のドメイン(私のクライアントのもの)に対して完全に実行されていることです。私はこれで不可能なことを達成しようとしていますか?

私のプラットフォームはVista x64で、サーバーは2008 R2です(R2ではありません)。

コードは次のようになります。

Do While Not m_boolCancel 

     '**Code dies on this line** 
     l_ar = m_mq.BeginPeek 

     'block thread till message arrived or shutdown is signalled 
     If WaitHandle.WaitAny(New WaitHandle() {m_sig, l_ar.AsyncWaitHandle}) > 0 Then 

      l_msg = m_mq.EndPeek(l_ar) 

      If l_msg IsNot Nothing Then 

       'doing stuff here 

      End If 

      Exit Do 
     End If 

答えて

2

MSMQがドメイン間で動作するためには、問題のドメインに双方向の信頼が確立されている必要があります。メッセージキューはパブリックキューでなければなりません。トランザクションキューとして設定している場合は、クライアントとサーバーの両方がMSMQ 4.0(Windowsサーバー2008以降の一部)を使用している必要があります。

+0

ああ、私たちは信用を持っていませんが、それは完璧な意味を持っています。だから私が公開キューとして設定しても、私はまだその場所に信頼を置く必要がありますか? 私はVista - > Server 2008を使用していますので、MSMQ 4.0を既に使用しているはずです。 – RubyHaus

+0

公開キューを定義する情報は、Active Directoryのキューをホストしているコンピュータオブジェクトの下に格納されます。 MSMQはセキュリティのためにケルベロスに依存しています。 –

+0

セキュリティを無効にする方法はありますか?待ち行列は内部のみであるため、とにかく無許可のものによってアクセスされる危険はありません。 – RubyHaus

0

それはあなたが認証のためにドメインを使用していない限り、システムが異なるドメインにある問題になることはありません。 「システム」に完全な制御を与えるとどうなりますか?質問を編集して、キューを開く際に使用しているコードと問題が解決しない場合には正確なエラーを含めてください。

+0

投稿を編集してコードを追加しました。また、問題のキューにフルコントロールのシステムを追加しようとしました。 – RubyHaus

+0

実際にm_mqを構築する場所にコードを含めることができますか?どこにキューのパスを割り当ててからそれを開くように指示しますか? – olle

+0

まあ...本当に。そのためのコードは次のようになります m_mq =新しいメッセージキュー(Me.ManagerConfiguration.RequestQueue) M_SIG =新Threading.AutoResetEvent(偽) ManagerConfiguration.RequestQueueは文字列であり、「FORMATNAME」と私のエントリがどこにあるというのです。サーバー上で直接実行すると、コードは完全に機能します。リモートで接続すると、コードが消滅します。 – RubyHaus

1

+0

私はした - 匿名、誰も、システムとサーバー$(サーバーはコンピュータ名です)はすべて完全に制御します。それ以外の権限は表示されませんが、それでも同じエラーです。 – RubyHaus

1

クライアントとサーバー間のクロックを確認してください:時間が長すぎると、「アクセスが拒否されました」が発生することがあります。

関連する問題