2009-07-28 6 views
0

私はWCFのnetmsmqbindingを使用しているMSMQアプリケーションを持っています。既定の構成では、アクティブなディレクトリ統合を有効にすると、すべて正常に動作します。Wcf-MSMQ:手紙が届いていますが、サービスは呼ばれていませんか?

しかし、netmsmqbindingのバインディング設定を使用してセキュリティを無効にしようとすると、キューのメッセージが表示されている、つまりメッセージがポストされているように見えます。キュー自体にもデッドレターキューにもありませんが、対応するWCF操作は呼び出されていません。例外やエラーは表示されません。メッセージが送信されて読み込まれていても、WCFによって黙って無視されているかのようにです。

アイデア?

更新:クライアントとサーバーのアプリケーションが同じホストにある場合に発生します。また、メッセージは実際にキューから除去される(すなわち、受信される)が、実際のサービス操作は呼び出されないことに留意されたい。実際のキューではなくジャーナルキューにメッセージが表示されます。

更新2:キューはトランザクションです。

更新3:トレースはあまり明らかにしません。 "Listen at net.msmq:// Address-of-thequeue"で、 "ソケット接続が中止されました。"というエラーメッセージが表示されます。これは、メッセージの処理中にエラーが発生したか、またはリモートから受信タイムアウトを超過したためですローカルネットワークのタイムアウトが'00:00:09.9930000 'でした。

アクティビティ "処理中の操作が実行されていません"では、「認可コンテキストにカスタムプリンシパルが指定されていません」というInvalidOperationExceptionが発生します。

答えて

1

クライアントとサービスの両方の設定でセキュリティを無効にしていますか?一致しない場合は、サービスがフォールトしている可能性があります(特に、トランザクションキューを使用している場合)。

サービスでWCF tracingを有効にしてみましたか?

+0

+1トレースします。試してみる。 –

関連する問題