2014-08-29 92 views
0

有沒有人知道爲什麼autofac無法初始化mvc控制器時,如果在根中有應用程序並且在IIS中的子應用程序中有另一個應用程序?如何解決這個問題?在IIS子應用程序中,Autofac無法解析類型

當應用程序託管在IIS中的不同網站時,它們的工作沒有問題。 enter image description here

所以在圖像中,根部署的根應用程序(mvc web)工作,但不是web服務(mvc api)。

誤差

出錯有試圖創建類型的控制裝置時發生錯誤occurred.An「UserController的」。確保控制器具有無參數公共構造函數。System.Web.Http.Dispatcher.DefaultHttpControllerActivator.Create(HttpRequestMessage請求,HttpControllerDescriptor控制器描述符,類型controllerType)上的System.InvalidOperationException at System.Web.Http.Controllers.HttpControllerDescriptor.CreateController( HttpRequestMessage請求) at System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsyncCore(HttpRequestMessage request,CancellationToken cancellationToken) at 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在Autofac.Core.Activators.Reflection.ReflectionActivator.ActivateInstance(IComponentContext上下文,IEnumerable的1 parameters) at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable 1參數)

回答

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

+0

我知道我遲到了,但它值得一提的,在您提供的文章中,有一節討論如何清除繼承的配置。這樣做幫助了我。謝謝!!! – Soori 2015-07-06 06:56:57