【发布时间】:2020-06-10 08:00:48
【问题描述】:
我想将我的 HTML 解析器放入一个单例实例中,所以我使用 Unity 来创建和保存我的类。不幸的是,这会导致应用程序崩溃,我没有关于该错误的信息。 我有 Elmah 但数据表中没有条目。 我的观点是:
protected void Application_Start()
{
GlobalConfiguration.Configure(WebApiConfig.Register);
GlobalConfiguration.Configuration.Filters.Add(new ElmahErrorAttribute());
UnityConfig.RegisterComponents();
HttpConfiguration config = GlobalConfiguration.Configuration;
config.Formatters.JsonFormatter
.SerializerSettings
.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
}
控制器:
public class AccountsController : BaseApiController
{
private readonly ITemplateService _templateService;
public AccountsController() { }
public AccountsController(ITemplateService templateService)
{
_templateService = templateService;
}
UnityConfig
public static class UnityConfig
{
public static void RegisterComponents()
{
var container = new UnityContainer();
container.RegisterType<ITemplateService, TemplateService>(new ContainerControlledLifetimeManager());
GlobalConfiguration.Configuration.DependencyResolver = new UnityDependencyResolver(container);
}
}
没有日志,没有地方设置断点,出错的地方,app崩溃了。
【问题讨论】:
标签: asp.net unity3d asp.net-web-api singleton inversion-of-control