我们正在尝试将RavenDB用作当前NLog使用中的日志目标。我们使用Voron作为存储引擎创建了一个新的RavenDB服务器和一个数据库。然后,只需更新我们的nlog配置即可。
有一段时间,一切都很好,但后来我们遇到了在数据库事务中运行调用Trace()的情况。使用ravenDB设置作为日志目标,这意味着SaveChanges()调用也在事务中进行。
在我们调用Transaction.Commit()之前,一切都很棒。 RavenDB在那时抛出了500个服务器错误,因为Voron引擎不支持DTC(根据我的理解,它将被定位为随处移除)。我很好。我并不特别在意 - 写入日志不应该是事务的一部分,因为如果出现问题,我们不想删除相关的日志条目。
我搜索了文档,希望找到一个我可以设置的配置选项,它只会告诉RavenDB忽略事务,或者至少忽略DTC,但我找不到任何东西。无论如何我可以让它停止抛出这500个服务器错误吗?
答案 0 :(得分:1)
在文档商店中设置EnlistInDistributedTransactions = false
,它将适合您