小编Edg*_*oks的帖子

如何在Stateless(.NET状态机库)中记录状态转换

我想有一个登录我工作流状态转换的数据库.

使用Stateless触发日志记录的最佳位置在哪里?是否应为每个州配置进行设置:

phoneCall.Configure(State.Connected)
    .OnEntry(() => StartCallTimer())
    .OnEntry(() => Log());
Run Code Online (Sandbox Code Playgroud)

或者有一些方法可以为整个工作流程集中定义一次?

欢迎提供这方面的任何其他意见.

c# stateless-state-machine

10
推荐指数
1
解决办法
1771
查看次数

为什么在MassTransit中强烈建议使用消息协定的接口?

MassTransit声明我们应该使用接口来进行消息合同:

强烈建议根据多年来不同开发人员经验水平的经验,使用接口进行消息合同.MassTransit将为消息创建动态接口实现,确保消息合同与消费者的清晰分离.

来源:文档»使用MassTransit» 创建消息合同

使用POCO DTO而不是接口有什么缺点,在使用MassTransit进行消息传递的上下文中,接口与类之间的明显优势是什么?

另一方面,NServiceBus适用于POCO,确保不使用域对象等内部类是有意义的,见下文.

来源:NServiceBus»消息传递»消息,事件和命令

创建消息时,应遵循以下准则:

  • 消息应该是简单的POCO对象.
  • 消息应尽可能小.
  • 消息应满足单一责任原则.
  • 用于其他目的的类(例如域对象,数据访问对象和UI绑定对象)不应用作消息.

c# masstransit event-bus

10
推荐指数
1
解决办法
951
查看次数

在实体框架中关闭AutoDetectChangesEnabled的可能风险

为了提高Entity Framework应用程序的性能,建议进行设置AutoDetectChangesEnabled = false

以下有关MSDN的教程指出:

禁用和重新启用的一种替代方法是始终保持对更改的自动检测处于关闭状态,并且可以context.ChangeTracker.DetectChanges显式调用或勤奋地使用更改跟踪代理。这两个选项都是高级选项,可以轻松将细微的错误引入您的应用程序,因此请谨慎使用

https://msdn.microsoft.com/zh-CN/data/jj556205.aspx

最后一部分是我所关心的。

  • 您能否给出这种优化方法可能发生的一些最常见的问题?
  • 有什么好的措施可以防止意外的后果?

.net c# entity-framework

5
推荐指数
2
解决办法
2309
查看次数

为什么.NET Core(dnxcore50)xUnit测试在VS2015测试资源管理器中不可见?

我知道这个问题被多次询问,但由于.NET Core的许多变化,它们已经过时了.

我有一个简单的.NET Core库,目标是Core(不是完整的.NET),现在我想为它配置Tests项目.

两个项目编译都没有问题,但我无法在Visual Studio 2015 中的测试资源管理器中显示测试.

下面是我设法从多个文档源汇编的project.json文件.

你看到什么遗失,也许是一些依赖?

===================

我在用 :

  • Visual Studio 2015 Update 3
  • .NET Core 1.0.0 RC2

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)

.net xunit xunit.net visual-studio .net-core

5
推荐指数
1
解决办法
152
查看次数

从 CQRS 写入端数据库读取数据

背景 :

解释 CQRS 的图表通常会清楚地分离读写路径和单向数据流,就像在这个例子中一样(来源:Demystified CQRS):在此处输入图片说明

题 :

我想澄清一下,

如果后端的命令执行需要从数据库中获取一些数据,

  • “写入端”是否应该从写入数据库中获得一些读取功能?
  • 或者它应该完全依赖“读取端”进行任何读取?
  • 或者命令应该包含调用者提供的所有必需数据来完成?

architecture cqrs

5
推荐指数
1
解决办法
1788
查看次数

如何配置 MassTransit 在失败时重试 context.Publish()?

如何配置 MassTransitcontext.Publish()在失败之前重试,例如当 RabbitMQ 服务器暂时不可用时?

c# masstransit

3
推荐指数
1
解决办法
2289
查看次数