首页 > 解决方案 > Unity 崩溃 Web API,没有日志

问题描述

我想将我的 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;
        }

统一配置

    public static class UnityConfig
    {
        public static void RegisterComponents()
        {
            var container = new UnityContainer();
            container.RegisterType<ITemplateService, TemplateService>(new ContainerControlledLifetimeManager());
            GlobalConfiguration.Configuration.DependencyResolver = new UnityDependencyResolver(container);
        }
    }

没有日志,没有地方设置错误所在的断点,应用程序崩溃。

标签: asp.netunity3dasp.net-web-apisingletoninversion-of-control

解决方案


EventViewer中总是有日志

打开它,你会发现你的程序崩溃了。


推荐阅读