2010-12-15 6 views
0

MSMQと通信するWCFサービスがあります。 VS2010のサービステストクライアントインターフェイスでサービスを実行すると、適切なキューにメッセージを置くことができ、すべて正常です。 IIS7でWCFサービスをホストし、Webアプリケーションからサービスを呼び出すと、すべてのメッセージがTransactionalデッドレターキューに入ります。IISでWCFとMSMQをホストする問題

私は、アプリケーションプールとサイト(WCFサービスをホストしているサイト)に、私が知っているアイデンティティがキューに特定のアクセス権を持っていることを設定しました。

私は何かチェックできますか、間違っていると思いますか?

更新: 他にも何か起こっていると思います。キューから読み書きできるSUPERシンプルなサービスを作りました。私は深く掘り下げて調べる必要があります。外見を持っている皆さん、ありがとうございますが、私はこれを開いて、私が報告したり、他のアイデアを持っている人がいるかどうかを知ることができます。私は、コードを見なくても決めるのは難しいことを知っています。しかし、私は離れていくことが多いので、投稿するのは難しいです。

+0

構成が説明されている場合は、役立ちます。たとえば、WCFがホストされているマシンのローカルMSMQですか?そうでない場合、どのMSMQがメッセージをデッドレターにしていますか? –

+0

はい、WCFサービスはMSMQと同じマシンにあります。私は、メッセージが送信されている待ち行列としてTransactionalデッド・レター・キューを指定しました。キューは非トランザクションとしてセットアップされ、メッセージは非トランザクションに設定されます。 – DDiVita

+0

コード内のキューにはどのような名前が付けられますか?それを投稿することができますか(実際の名前をマスクしますが、一般的なものはマスクしていますが、正確な形式を保持してください)。問題の説明は、キューがリモートキューとして扱われ、MSMQがリモートキューを見つけられず、メッセージをトランザクションデッドレターキューに配信できないことを示しています。 –

答えて

0

キューをコーディングした人たちは、キューを正しくセットアップしなかったことが分かりました。

0

ExactlyOnce = falseをコードまたはクライアントのapp.configファイルに設定します。この

NetMsmqBinding binding = new NetMsmqBinding(NetMsmqSecurityMode.None); 
binding.ExactlyOnce = false; 

よう

がこの問題を解決することを願っています。

乾杯 Naushad

関連する問題