假设我有以下ASP.NET webapi控制器:
[RoutePrefix("api/Foo")]
public sealed class FooController : ApiController
{
private static readonly NativeFooService _nativeFooService = new NativeFooService();
// Controller actions
}
NativeFooService
实现IDisposable
并在构造函数中包含一些繁重的初始化代码,所以我真的 - 真的不想让它成为我的控制器的非静态成员,但同时我想要调用确保它被正确放置,因为它包装了一些本机组件。
问题是,我是否应该关注使用IRegisteredObject之类的内容在Dispose
上调用NativeFooService
,还是应该把所有麻烦都留给ASP.Net运行时?