2012-04-20 71 views
1

MSMQ和WCF的新功能。 我希望能夠高速處理傳入的MSMQ消息。我想使它成爲多線程(和事務)。 這樣做的最好方法是什麼?任何示例,代碼片段,理論都非常受歡迎。 另外,WCF如何知道MSMQ中是否有消息?或者我必須創建一個Windows服務來輪詢MSMQ,然後找到消息,在新線程上啓動它並調用WCF服務並將消息傳遞給它? 什麼是最好的方法?使用WCF消費MSMQ

非常感謝

回答

0

答案這裏是使用WCF和創建服務已知類型的數據合同。 這些已知類型是它將從正在讀取的隊列中預期的對象。

爲了使多線程和交易,不僅隊列必須是事務性的,而且裝飾服務屬性:

[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple, InstanceContextMode = InstanceContextMode.PerSession, ReleaseServiceInstanceOnTransactionComplete = false)]  

的InstanceContextMode IS perSession默認。

您還需要設置綁定你的配置文件

例如:http://msdn.microsoft.com/en-us/library/ms751493.aspx