2011-12-14 72 views
1

有沒有辦法將BTS.RetryCountWCF.Action設置爲不在消息賦值形狀中?以任何方式以編程方式設置BizTalk消息上下文屬性?

我對動態消息發送有一個特別的編排,其參數是MessageServiceName,它有一個動態端口,可以很容易地配置UDDI服務。我在這種編排中無法做到的事情是,我無法爲消息設置WCF.Action,我應該創建一個新的消息,因爲它禁止在BizTalk中修改構造形狀外部任何位置的消息。因此,每次我想發送消息時,設置此屬性非常不方便,我認爲我可以在一個專用業務流程中執行所有UDDI &路由選擇,稍後我可以使用參數調用該業務流程。

+0

你在文檔的某處有actionname嗎?像自定義標題? – LarsWA

+0

不,它存儲在UDDI –

+0

聽起來像一個有趣的解決方案。它是客戶還是客戶的服務總線實施?或者你只是在測試東西嗎? – LarsWA

回答

1

你不能修改管道組件中的那些屬性嗎?然後您可以在編排中執行管道。

UPDATE

我的意思是,你可以創建一個管道組件,因爲它通過設置消息的上下文屬性。然後,您可以創建一個包含此組件的管道,並通過傳遞消息在您的編排中執行它。這條消息將會設置這些上下文屬性。

+0

我不確定我是否正確地理解了你。 「你不能修改管道組件中的那些屬性嗎?」?我不使用任何。 –

+0

我已經更新了我原來的答案。 –

0

你能不能在賦值形狀創建同一類型的,因爲你需要修改

NewMessage = OldMessageWithTheDynamicPropertiesSet; 

並複製了所有屬性

NewMessage(*)* = OldMessageWithTheDynamicPropertiesSet(*); 

,然後設置消息的新信息,您需要設置的屬性。您也可以通過這種方式設置WCF操作。

NewMessage(WCF.Action)=.... 
NewMessage(BTS.REtryCount)= 666 

然後你發這個新的消息出來。

+0

當然,是的,但這就是我想要避免的,因爲我已經有了一個專門發送的新消息。複製郵件是一種開銷,因爲我懷疑 –

+0

這是一種開銷,但郵件有多大?你打算每分鐘或每小時發送多少?內存現在很便宜。 – LarsWA

相關問題