2016-09-12 6 views
0

パイプラインコンポーネント内でMSMQを動的に作成する必要があります。私はを書いていますメソッドをIBaseMessageの方法で実行します。BizTalkを使用してパイプラインコンポーネントにMSMQを作成する方法

public IBaseMessage Execute(IPipelineContext pContext, IBaseMessage pInMsg) 
{ 
    IBaseMessagePart bodyPart = pInMsg.BodyPart; 
    if (!MessageQueue.Exists(@".\private$\NewQueue.Queue")) 
    { 
     var messageQueue = MessageQueue.Create(@".\private$\NewQueue.Queue"); 
     messageQueue.SetPermissions("Everyone", MessageQueueAccessRights.FullControl); 
    } 
    MessageQueue RequestQueue = new MessageQueue(@".\private$\NewQueue"); 
    Message SendMsg = new Message(); 
    SendMsg.Body = bodyPart; 
    RequestQueue.Send(SendMsg, "Siddharth"); 
    return pInMsg; 
} 

メッセージは、ポートを送信するために受信ポートから起こっているが、私は私の実行メソッドが実行されていないか、私は正しいコードを書いていないと思うように、どのキューを作成されていません。助けてください。事前に感謝:)

おそらくあなたの実行方法は、実際に2つのうちの1つがhapenningされ、その後と呼ばれるが、されている
+0

私たちが答える前に、なぜこれをしたいのですか?キューを動的に作成することは良い考えではありません。しかし、BizTalkでメッセージを送信する正しい方法ではありません。 –

答えて

0

  1. をお使いのホストインスタンスを実行しているサービスアカウントは、キューを作成するために必要な権限を持っていません、または
  2. キューが作成されていますが、キューのアドレスが間違って指定されている(「.queue」という接尾辞がないため)コードの残りの部分は何も行いません。

ローカルのbtsntsvc.exeプロセスにデバッガを接続し、そのデバッガが呼び出されているかどうかを確認できます。

関連する問題