Обычно я создаю 1 класс, который реализует Saga <T>: кодNServiceBus - 2 класса Используя ту же сагу, возможно ли это?
public class MyClass1 : Saga<MySagaData>;
{
………
}
MySagaData:
[SagaIndex("ExternalCombinedIdentifier")]
[SagaIndex("MyOwnId")]
public class MySagaData: IContainSagaData
{
public MySagaData()
{
……
}
public Guid Id { get; set; }
public string Originator { get; set; }
public string OriginalMessageId { get; set; }
……
}
Теперь мне нужно использовать один и тот же Saga (Сага <MySagaData>) в другом классе, назовем его MyClass2.
Если я реализую MyClass2 вроде следующего: класса MyClass2 общественности: Saga <MySagaData> { ......... }
будут свойства ACID Саги <MySagaData> присутствовать на MyClass1 и MyClass2, как если бы Saga <MySagaData> будет использоваться только в 1 классе? И в свойствах ACID я включаю, например, откат обработчика сообщений и повторить его в MyClass1, если другой обработчик сообщений для другого класса (MyClass2) только что внес изменения в MySagaData?
Я боюсь понять, почему вам нужно использовать Saga в другом классе? Не могли бы вы немного разобраться? –
Должен ли я использовать другую независимую сагу? – Miguel
Да. Хотя вы можете наследовать MySagaData из ContainSagaData (в последних версиях NServiceBus), чтобы избежать создания свойств Id, Originator и OriginalMessageId. –