小编the*_*Dmi的帖子

如何摆脱Sphinx Latex输出页面标题中的"Release 1"?

我正在使用Sphinx的"手动"文档类,我对Latex输出的外观非常满意,除了页眉.它包含我的论文标题,以及"Release 1".

由于我正在撰写论文而不是文档,因此我显然不需要发布信息.不幸的是,很难找到有关如何定制Sphinx乳胶输出的信息.

有人知道怎么做吗?

documentation latex documentation-generation python-sphinx

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

如何使用更新频率不同于根的子实体集合处理聚合根?

我们的系统中有一个聚合根,并且在集合中有子实体.问题是容器需要在事务的基础上非常频繁地更新,并且子实体不需要更新,它们实际上几乎不会改变,它们在性质上更像是配置.

我的第一反应是将它们分成两个不同的聚合根,因为我们的应用要求.但是我被提醒了级联删除规则,如果我们删除那个,则删除应该级联,所以它们的生命周期是链接的.

当我们发现存在缓存问题时,我们偶然发现了这个问题.子系统实体(配置)的更改未在运行时在系统中反映,因为父级不知道这些更改(我们将它们作为一个聚合根,但有人为其子级创建了一个存储库).

domain-driven-design aggregateroot repository-pattern

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

如何在AutoMapper 5中的不同映射之间重用ValueResolver?

我只是尝试将AutoMapper升级到5.0.2,但遇到了障碍。

根据迁移文档,值解析器现在可以访问目标对象:

值解析器的签名已更改,以允许访问源/目标模型。

结果是,每个值解析器都精确地绑定到一个目标类型。

但是,我们的某些价值解析器可用于多种目的地类型。例如,我们有一个解析器,用于映射DTO的所有ID属性。解析程序通过注入到解析程序中的服务来修改ID。

如何在AutoMapper 5中定义可重用的值解析器,这样我就不必为具有完全相同的实现的每种目标类型创建专用的解析器?

注意:使用值解析器而不是直接操作值的主要原因是依赖项注入。按照这个答案,值解析器是在映射过程中使用依赖项注入服务的最佳方法。

automapper automapper-5

2
推荐指数
1
解决办法
1199
查看次数

如何使用 Json.Net (newtonsoft) 连接两个 Json 对象

我有我想连接成一个 JSON 对象的 JSON 对象。

我如何使用 NewtonSoft 的 JSON 包来做到这一点?

c# json.net

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

创建与任务一起使用的异常转换动态代理

问题

我不知何故在兜圈子......我尝试使用 Castle Dynamic Proxy 创建一个带有目标的接口代理。代理应该

  • 如果没有抛出异常(即不执行任何操作),则返回调用的返回值。
  • InterceptedException如果调用抛出一个 则抛出 new InvalidOperationException
  • e如果调用抛出另一个异常,则抛出e

换句话说,拦截器应该捕获并转换特定的异常类型,而不是在所有其他情况下拦截。

我让这个适用于同步方法。但是,我需要返回任务的异步方法具有相同的行为。

我尝试过的

我尝试向返回的任务添加延续并检查IsFaultedException类似于此答案。这适用于 return 的方法Task,但不适用于返回的方法,Task<T>因为我的延续是类型Task(并且我不知道T拦截器中有什么) 。

涵盖上述异步方法的三种情况的测试 (XUnit.net)

public class ConvertNotFoundInterceptorTest
{
    [Fact]
    public void Non_throwing_func_returns_a_result()
    {
        Assert.Equal(43, RunTest(i => i + 1));
    }

    [Fact]
    public void InvalidOperationExceptions_are_converted_to_IndexOutOfRangeExceptions()
    {
        var exception = Assert.Throws<AggregateException>(() => RunTest(i => { throw new InvalidOperationException("ugh"); }));
        Assert.True(exception.InnerException is IndexOutOfRangeException);
    }

    [Fact] …
Run Code Online (Sandbox Code Playgroud)

c# castle-dynamicproxy task

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

如何使用存储库来保存聚合?

我正在尝试学习关于DDD的一些概念,并且持久化Aggregates的部分让我感到困惑.我已经阅读了关于SO的主题的各种答案,但它们似乎都没有回答我的问题.

假设我有一个Product的聚合根.现在我不想注入ProductRepository,它会在Product类本身的构造函数中保存这个聚合根.想象一下我写的代码就像

var prod = new Product(Factory.CreateProductRepository(), name, costprice);
Run Code Online (Sandbox Code Playgroud)

在UI层中.如果我不想通过Aggregate Root中的依赖注入注入我的存储库,那么问题是这个代码应该去哪里?我应该只为持久化这个AR创建一个类吗?任何人都可以建议解决此问题的正确和推荐方法是什么?

我担心的不是使用哪种ORM或如何使这个AR ORM友好或易于持久,我的问题是关于正确使用存储库或任何持久性类.

c# persistence domain-driven-design aggregateroot

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

确定JavaScript中两个时区是否相同

在JavaScript(在浏览器中运行)中,表单中有两个时区continent/location.我如何确定它们是否是同一时区?

请注意,仅检查当前偏移量不起作用.这两个时区可能是不同的区域,恰好今天恰好有相同的偏移量.我可以检查一年中每一天的补偿,但这听起来不太可行.

例子:

  • Europe/Oslo并且Europe/Brussels是相同的(欧洲中部时间/中欧夏季时间).
  • Europe/Oslo并且Europe/London不一样.

javascript timezone

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