タイトルで申し訳ありませんが、より良いタイトルがあれば、お気軽に更新してください。
基本的に、ASP.Net Web API を使用して Web API を作成しています。Unity コンテナーを次のように構成しました。
string xmlFilePath = "some/path"
var unity = new UnityContainer();
unity.RegisterType<PlayerController>();
unity.RegisterType<IRepository, XmlRepository>(
new ContainerControlledLifetimeManager(),
new InjectionConstructor(xmlFilePath));
config.DependencyResolver = new IoCContainer(unity);
XmlRepository には、xml ファイルの状態を表すいくつかのオブジェクトと、60 秒ごとに状態を xml ファイルに書き込むタイマーがあります。これは、状態が変化するたびに xml ファイルを書き換える必要がないようにするためであり、失われる可能性のある状態変化の最大量を 60 秒に制限します。
私の質問はこれです. Unity コンテナーは、すべての呼び出しで Web API で使用できる XmlRepository のシングルトンを作成します。しかし、呼び出しの間にオブジェクトはどうなるでしょうか? それはどこかでシリアル化された形式ですか、それとも元の形式のままなので、タイマーは引き続き機能しますか?