我有一些消息设计头疼。我想为一个长期运行的过程启动一个NServiceBus传奇。进行初始化所需的部分数据是约束列表,它是抽象基类的实现。正如我对设计理念的理解,理想情况下应该是
使用BinarySerializer
可以“解决”序列化问题,但这似乎不是推荐的做法,因为它打破了版本控制。另一种方法是发送一些标识符,以便可以从某个数据存储区中检索约束,但这将消除“自包含”。
这里有第三种方式,还是只需选择一些“最不好”的解决方案?
答案 0 :(得分:0)
还可以选择通过DI将这些物体注入你的传奇。
只需创建一个在启动时调用的boostrapping类:
Configure.Instance.Configurer.ConfigureProperty<yourSaga>(s => s.SomeProperty = value);