是的,这是默认行为。活动实例可以是可以咬你的miltithreaded环境(web上下文)中的同一个实例。所以为了安全起见,您应该始终将所有活动变量作为参数。参数通过ActivityContext传递,对于每个活动实例都是不同的。
public class CustomActivity : Activity
{
public int Age { get; set; }
protected override void Execute(CodeActivityContext context)
{
//do some work with Age
}
}
由于不同的线程可以设置/得到相同的实例变量,而不是上面的代码,你应该这样做:
public class CustomActivity : Activity
{
public InOutArgument<int> Age { get; set; }
protected override void Execute(CodeActivityContext context)
{
//do some work with Age within CodeActivityContext
}
}
怎么样通过国际奥委会注入的依赖? –
通过ctor注入的@MhaihaiBejenariu值将被存储在成员属性(独立于上下文)上,所以IOC也不能解决问题。 – rovsen
对不起,我的问题是模糊的。我正在使用Unity,并且我有一个类成员:[Dependency] MyLogic。在这种情况下,MyLogic仍然是一个单身人士。我怎样才能使注入的MyLogic类在每个上下文中被实例化? –