是StructureMap型材线程安全的?(Are StructureMap profiles th

2019-10-17 17:19发布

我在考虑使用StructureMap的个人资料,以促进基于经过验证的用户的类型在我的web应用程序提供了行为的细微差别的。 我的问题是,如果我这样做

ObjectFactory.Profile = Session["UserType"];

它是将是线程安全的或将同时请求基于配置文件解决的事情,当互相干扰可能?

Answer 1:

在静态的ObjectFactory门面的操作都是“线程安全的”。 这意味着,你可以安全地调用它们放在不同的线程,而破坏的ObjectFactory的内部状态。

但是,你问的每个线程是否得到了ObjectFactory的自己的个人副本,答案是否定的。 您对ObjectFactory的任何线程的任何变化,都会反映在的AppDomain中的所有其他线程。

Profiles特性可能不是你要寻找的解决方案。 你可能想使用这样的命名实例:

ObjectFactory.GetInstance<ISomeService>( Session["UserType"] );

还有其他可能的解决方案,这取决于你正在尝试做的。 考虑发布一个关于你正在试图解决这个问题,前一个问题:“我如何才能根据当前用户的用户类型不同的行为......”



文章来源: Are StructureMap profiles thread safe?