2

両方で作成されたトピックにメッセージを送信しようとしています重複検出を有効にしますおよびパーティションを有効にするオプションがチェックされています。私はBrokeredMessageインスタンスにSessionIdPartitionKeyのプロパティを設定しません。 thisによると:BrokeredMessage.SessionIdまたはBrokeredMessage.PartitionKey プロパティが設定されていないキューまたはトピックがtrueに設定さ QueueDescription.RequiresDuplicateDetectionプロパティを持っている場合Azureサービスバスのトピック分割

と 、その後、BrokeredMessage.MessageIdプロパティ は、として機能しますパーティションキー私はBrokeredMessageそのMessageIdプロパティのインスタンスを作成した後

は、私はパーティショニングが動作することを期待して自動的に初期化されます。しかし、それはしていません:

Microsoft.Azure.WebJobs.Host.FunctionInvocationException:例外 機能を実行中:Functions.ProcessQueueMessage2Async ---> のSystem.InvalidOperationException:のSessionIdはへのすべての 仲介メッセージのために設定する必要がありますOrdering、Topicをサポートするパーティション化されたトピック Name = dev1-mtapp:Topic:response-topic〜255。 TrackingId:5fbe5df2-8747-4053-ba79-c29a80e9d1ed_G25_B31、 SystemTracker:DEV1-mtapp:トピック:私は間違っ応答話題〜255

答えて

2

あなたが設定する必要があります。たとえば topicDescription.SupportOrdering = false. を:

 if (!this.namespaceManager.TopicExists(topicName)) 
     { 
      TopicDescription topicDescription = new TopicDescription(topicName); 
      topicDescription.SupportOrdering = false; 
      this.namespaceManager.CreateTopic(topicDescription); 
     } 
+1

にはどうすればいいのポータルを経由して設定するのですか?トピック作成画面に関連するものは何も表示されません。 – UserControl

+0

これはおそらく不可能です。 Visual Studioにあるかもしれません。ポータルから「パーティションを有効にする」のチェックを外すことができます。これは助けることができます。 – Tselofan

+0

ありがとうございます!サービスバスエクスプローラで作業内容と**メッセージの順序付け**フラグをチェック/チェック解除することができます – UserControl

関連する問題