ABP SignalRHub仓储写入数据库失败及UOW报错问题求助
问题:ABP SignalR Hub中仓储写入数据无法提交至数据库,手动开启UOW报错
在使用AbpHub(SignalRHub)时,注入仓储写入数据后无法提交到数据库。直接运行abp-samples中的Demo可以正常写入,但自行新建项目模仿后,无报错但数据库无数据。怀疑工作单元(Unit Of Work)未生效,手动开启UOW后数据写入成功,但持续报错:Volo.Abp.AbpException: Complete is called before!
相关代码如下:
public async Task<SignalRTestDto> GetOrCreateAsync(string targetUserName) { var result = await _signalRTestRepository.FindAsync(s => s.Name == targetUserName); using(var uow = UnitOfWorkManager.Begin()) { Logger.LogDebug("CurrentUnitOfWork.Id:{0}", CurrentUnitOfWork.Id); if (result == null) { result = new SignalRTest(targetUserName); await _signalRTestRepository.InsertAsync(result, true); await CurrentUnitOfWork.CompleteAsync(); } } return ObjectMapper.Map<SignalRTest, SignalRTestDto>(result); }
已将测试项目与abp-samples的Demo整合到同一解决方案(路径:..\AbpSignalRDemo\SignalRDemo2\SignalRDemo2.sln),对比后未发现差异,恳请帮忙排查问题。
内容的提问来源于stack exchange,提问作者张志炜
相关产品推荐
相关产品推荐

