我想有一个登录我工作流状态转换的数据库.
使用Stateless触发日志记录的最佳位置在哪里?是否应为每个州配置进行设置:
phoneCall.Configure(State.Connected)
.OnEntry(() => StartCallTimer())
.OnEntry(() => Log());
Run Code Online (Sandbox Code Playgroud)
或者有一些方法可以为整个工作流程集中定义一次?
欢迎提供这方面的任何其他意见.
MassTransit声明我们应该使用接口来进行消息合同:
强烈建议根据多年来不同开发人员经验水平的经验,使用接口进行消息合同.MassTransit将为消息创建动态接口实现,确保消息合同与消费者的清晰分离.
来源:文档»使用MassTransit» 创建消息合同
使用POCO DTO而不是接口有什么缺点,在使用MassTransit进行消息传递的上下文中,接口与类之间的明显优势是什么?
另一方面,NServiceBus适用于POCO,确保不使用域对象等内部类是有意义的,见下文.
创建消息时,应遵循以下准则:
- 消息应该是简单的POCO对象.
- 消息应尽可能小.
- 消息应满足单一责任原则.
- 用于其他目的的类(例如域对象,数据访问对象和UI绑定对象)不应用作消息.
为了提高Entity Framework应用程序的性能,建议进行设置AutoDetectChangesEnabled = false
。
以下有关MSDN的教程指出:
禁用和重新启用的一种替代方法是始终保持对更改的自动检测处于关闭状态,并且可以
context.ChangeTracker.DetectChanges
显式调用或勤奋地使用更改跟踪代理。这两个选项都是高级选项,可以轻松将细微的错误引入您的应用程序,因此请谨慎使用。
https://msdn.microsoft.com/zh-CN/data/jj556205.aspx
最后一部分是我所关心的。
我知道这个问题被多次询问,但由于.NET Core的许多变化,它们已经过时了.
我有一个简单的.NET Core库,目标是Core(不是完整的.NET),现在我想为它配置Tests项目.
两个项目编译都没有问题,但我无法在Visual Studio 2015 中的测试资源管理器中显示测试.
下面是我设法从多个文档源汇编的project.json文件.
你看到什么遗失,也许是一些依赖?
===================
我在用 :
MyProject.dll
project.json
{
"version": "1.0.0-*",
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
}
},
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
}
}
}
Run Code Online (Sandbox Code Playgroud)
MyProject.Tests.dll
project.json
{
"version": "1.0.0-*",
"dependencies": {
"xunit.runner.dnx": "2.1.0-rc1-build204",
"MyProject": "1.0.0-*",
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
},
"xunit": "2.2.0-beta4-build3444"
},
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
} …
Run Code Online (Sandbox Code Playgroud) 背景 :
解释 CQRS 的图表通常会清楚地分离读写路径和单向数据流,就像在这个例子中一样(来源:Demystified CQRS):
题 :
我想澄清一下,
如果后端的命令执行需要从数据库中获取一些数据,
如何配置 MassTransitcontext.Publish()
在失败之前重试,例如当 RabbitMQ 服务器暂时不可用时?
c# ×4
.net ×2
masstransit ×2
.net-core ×1
architecture ×1
cqrs ×1
event-bus ×1
xunit ×1
xunit.net ×1