Below you will find pages that utilize the taxonomy term “Saga”
Posts
NSaga - Getting started
使用 NSaga 來做 Saga pattern,需先透過 NuGet 安裝 NSaga 套件。
PM> Install-Package NSaga 接著要定義 Transaction 中的每一個動作,也就是 NSaga 中的 Message。
這邊要注意 NSaga 必須特別定義 Transaction 中的第一個 Message,定義的方式就是造一個專屬的 Message Class,並實作 IInitiatingSagaMessage 介面。
public class StartSagaMessage: IInitiatingSagaMessage { public Guid CorrelationId { get; set; } } IInitiatingSagaMessage 介面只有一個屬性 CorrelationId,用來接 Transaction Id 用,可用來識別這次觸發的 Transaction。除了介面定義的屬性外,若是需要額外的資料也可以自己附加。
第一個 Message 定義完其它後面的 Message 定義方式就一樣了,只要造專屬的 Message Class,並實作 ISagaMessage 介面即可。
public class SagaMessage: ISagaMessage { public Guid CorrelationId { get; set; } } 接著要定義 Transaction 要儲存的資訊,簡單造個 Model 類別即可。
read more