Tag: automatonymous

如何通过InMemoryTestHarness成功驱动MassTransitStateMachine?

接下来: 如何编写MassTransitStateMachineunit testing? 这是一个简单的测试类(使用MS测试),用于一个名为ProcedureStateMachine的简单状态机(注意:对于我们来说,这不是一个真正的生产状态机……这只是我过去常常使用MassTransitStateMachine进行的实验..它似乎是一个方便的自成一体的地方,试验进行unit testing也是如此): [TestClass] public class ProcedureStateMachineTests { private ProcedureStateMachine _machine; private InMemoryTestHarness _harness; private StateMachineSagaTestHarness _saga; [TestInitialize] public void SetUp() { _machine = new ProcedureStateMachine(); _harness = new InMemoryTestHarness(); _saga = _harness.StateMachineSaga(_machine); _harness.Start().Wait(); } [TestCleanup] public void TearDown() { _harness.Stop().Wait(); } [TestMethod] public async Task That_Can_Start() { // Arrange // Act await […]

MassTransit saga / statemachine没有将请求响应返回给控制器

我觉得我已经接近这个工作但似乎无法让它超越线路…… 我有一个带有saga /状态机的.NET核心ASP应用程序,似乎在大多数情况下运行良好。 它: 收到请求 发布由路由单拾取的事件 当路由单完成时,它会发布一个事件 这个事件被传染了 然后,saga将请求发送给请求/响应使用者 响应回到了传奇 然后,然后我使用RespondAsync尝试将响应发送回原始呼叫控制器但是没有任何回复 我的控制器看起来像: private readonly IRequestClient _client; public async Task CreateLinkAsync([FromBody]CreateLinkRequest request) { var requestLink = new RequestLink { GroupName = $”{request.Name} Group”, Name = request.Name, LinkId = Guid.NewGuid() }; var result = await _client.Request(requestLink).ConfigureAwait(false); return Ok(); } 我的传奇的减少版本看起来像: Request(() => LinkRequest, x => x.RequestId, cfg […]