我有一些库实用程序可以让事情变得更简单一些。
public static RequestUow Uow
{
get { return ContextItemsHelper.Get<RequestUow>("Uow"); }
set { ContextItemsHelper.Set<RequestUow>("Uow", value); }
}
并在 ContextItemsHelper
public static T Get<T>(string key)
{
Guard.NullOrEmpty(key, "key");
object obj = Items[key];
return obj.IsNotNull() ? (T)obj : default(T);
}
static IDictionary Items { get { return HttpContextHelper.Current.Items; } }
这工作正常,但我现在想检查属性 uow 是否为空,是否设置了新的 RequestUow 并返回它。
我见过的示例涉及设置您自己的成员变量,但是我想知道这是否可能是线程安全的。
有人有任何建议或解决方案吗?