当根目录中有应用程序且IIS中的子应用程序中有另一个应用程序时,是否有人知道为什么autofac无法初始化mvc控制器?如何解决这个问题?
当应用程序托管在IIS中的不同网站时,它们可以顺利运行。
所以在图像中,部署在根目录中的根应用程序(mvc web)可以工作,但不能运行web服务(mvc api)。
错误是
发生错误。尝试创建“UserController”类型的控制器时发生错误。确保控制器在System.Web.Http.Dispatcher.DefaultHttpControllerActivator.Create(HttpRequestMessage请求,HttpControllerDescriptor controllerDescriptor,类型controllerType)中具有无参数公共构造函数.System.InvalidOperationException。
在System.Web.Http.Controllers.HttpControllerDescriptor.CreateController(HttpRequestMessage请求)
在System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsyncCore(HttpRequestMessage请求,CancellationToken cancellationToken)
在System.Web.Http.Dispatcher.HttpControllerDispatcher。< SendAsync> d__0.MoveNext()发生错误。在类型'BurpDaddyEntities'上调用构造函数'Void .ctor()'时抛出异常。 ---> 'System.Data.Entity.Internal.AppConfig'的类型初始值设定项引发了异常。 (有关详细信息,请参阅内部异常。)Autofac.Core.Activators.Reflection.ConstructorParameterBinding.Instantiate()中的Autofac.Core.DependencyResolutionException
at Autofac.Core.Activators.Reflection.ReflectionActivator.ActivateInstance(IComponentContext context,IEnumerable 1 parameters)
at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable
1个参数)
答案 0 :(得分:3)
虽然顶级异常似乎是来自Autofac,但是如果你看一下导致整个事情的内部异常问题,你会看到真正的异常是The type initializer for 'System.Data.Entity.Internal.AppConfig' threw an exception.
这意味着静态构造函数上课出错了。
幸运的是,实际上有一个问题(有答案!)直接关于您使用实体框架的嵌套网站所面临的问题: The type initializer for 'System.Data.Entity.Internal.AppConfig' threw an exception on a Sub Website