我在考虑使用StructureMap的个人资料,以促进基于经过验证的用户的类型在我的web应用程序提供了行为的细微差别的。 我的问题是,如果我这样做
ObjectFactory.Profile = Session["UserType"];
它是将是线程安全的或将同时请求基于配置文件解决的事情,当互相干扰可能?
我在考虑使用StructureMap的个人资料,以促进基于经过验证的用户的类型在我的web应用程序提供了行为的细微差别的。 我的问题是,如果我这样做
ObjectFactory.Profile = Session["UserType"];
它是将是线程安全的或将同时请求基于配置文件解决的事情,当互相干扰可能?
在静态的ObjectFactory门面的操作都是“线程安全的”。 这意味着,你可以安全地调用它们放在不同的线程,而破坏的ObjectFactory的内部状态。
但是,你问的每个线程是否得到了ObjectFactory的自己的个人副本,答案是否定的。 您对ObjectFactory的任何线程的任何变化,都会反映在的AppDomain中的所有其他线程。
Profiles特性可能不是你要寻找的解决方案。 你可能想使用这样的命名实例:
ObjectFactory.GetInstance<ISomeService>( Session["UserType"] );
还有其他可能的解决方案,这取决于你正在尝试做的。 考虑发布一个关于你正在试图解决这个问题,前一个问题:“我如何才能根据当前用户的用户类型不同的行为......”