首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我尝试保存第二个字段时,使用Ncqrs失败

当我尝试保存第二个字段时,使用Ncqrs失败
EN

Stack Overflow用户
提问于 2010-10-15 02:04:25
回答 3查看 172关注 0票数 0

这是错误:前置条件失败。:!IsConfigured无法配置已配置的环境。

代码语言:javascript
复制
public static void BootUp()
    {
        var config = new StructureMapConfiguration((i) =>
        {
            i.For<ICommandService>().Use(InitializeCommandService());
            i.For<IEventStore>().Use(InitializeEventStore());
            i.For<IEventBus>().Use(InitializeEventBus());
        });

        NcqrsEnvironment.Configure(config);
    }

当我尝试添加新数据时,我遇到了麻烦,它允许我只创建一个客户,但如果我尝试添加第二个客户,它将失败:

代码语言:javascript
复制
NcqrsEnvironment.Configure(config);

我正在使用Ncqrs。

EN

回答 3

Stack Overflow用户

发布于 2010-10-15 02:24:52

代码语言:javascript
复制
 if (!NcqrsEnvironment.IsConfigured)
                NcqrsEnvironment.Configure(config);

您应该添加一行then来检查它是否已经配置,如果没有配置,则应该配置它。

票数 0
EN

Stack Overflow用户

发布于 2011-02-21 02:19:26

如何调用BootUp()方法?

NCQRS网站上的文档示例从一个静态构造器调用了BootUp(),该构造器保证只调用一次。

但是,如果您不是从静态构造函数调用BootUp(),请注意"IsConfigured“值不是线程安全的,并且如果两个或更多线程尝试并行执行BootUp(),您仍然可能遇到原始异常,这在生产环境中很可能发生。

要么实现线程安全检查,要么为了安全起见从静态构造器运行它。

票数 0
EN

Stack Overflow用户

发布于 2011-03-01 00:20:06

您还可以使用Ncqrs.Environment.DeConfigure()方法。对于在Nancy下运行的web应用程序,这是我必须做的事情,因为Nancy目前几乎每个请求都会创建一个新的IoC容器。

如果我简单地检查IsConfigured,它会有两个不同的配置,彼此之间一无所知。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3936144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档