物事を少し簡単にするライブラリユーティリティがいくつかあります。
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; } }
これは正常に機能しますが、新しい RequestUow が設定されている場合は、プロパティ uow が null であるかどうかを確認して、それを返したいと思います。
私が見た例には、独自のメンバー変数の設定が含まれていますが、これがスレッドセーフである可能性が高いかどうか疑問に思っています。
アドバイスや解決策はありますか?