2014-11-01 40 views
1

有人能讓我知道QueuedDeliveryRequirements在DeliveryRequirements屬性中表示什麼嗎?QueuedDeliveryRequirements |實際含義

MSDN says 「指定服務的綁定是否必須支持排隊的合約。」這讓我更加困惑什麼是「排隊合同」。請解釋。

謝謝!

回答

0

很簡單,當你定義一個服務接口,例如:

[ServiceContract] 
public interface ISomethingService 
{ 
    [OperationContract] 
    void Something(); 
} 

有將被暴露在什麼樣的交通工具結合界面的內在沒有任何限制,這是一件好事,因爲它使接口開發人員不必考慮如何在真實世界中實際部署和管理服務。

但是,在某些情況下,作爲接口開發人員,您需要烘烤特定類型綁定的需求,並且一個很好的例子就是排隊綁定。在WCF中,Queued綁定是那些利用windows自帶的msmq平臺的傳輸綁定。

您可能有充分的理由在服務設計時指定這一點 - 例如,您需要嚴格按序執行一次,將消息傳遞作爲SLA的一部分。

如果是這樣WCF允許您使用DeliveryRequirementsAttribute指定此:

[DeliveryRequirementsAttribute(
    QueuedDeliveryRequirements = QueuedDeliveryRequirementsMode.Required)] 
public class SomethingService : ISomethingService 
{ 
    public void Something(); 
} 

希望這有助於你。