抱歉标题,如果你有更好的,请随时更新。
基本上,我正在使用 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 秒。
我的问题是这个.. 统一容器创建了一个 XmlRepository 的单例,我的 Web api 在每次调用时都可以使用它。但是,调用之间的对象会发生什么?它是在某个地方以某种序列化的形式出现,还是保持原来的形式,所以我的计时器将继续工作?