![](/img/trans.png)
[英]container.RegisterWebApiControllers(GlobalConfiguration.Configuration) causes InvalidOperationException
[英]Can't access GlobalConfiguration.Configuration from .Net 5.0 WebApi
GlobalConfiguration.Configuration
在新的 ASP.NET Core WebApi 項目(.Net 5.0)中似乎不可用。
重現步驟:
var config = GlobalConfiguration.Configuration;
例如將其添加到 Startup.cs:
public Startup(IConfiguration configuration)
{
var c = GlobalConfiguration.Configuration; // this line was added
Configuration = configuration;
}
System.Web.Http.GlobalConfiguration
which seems the correspond with the Microsoft.AspNet.WebApi.WebHost
Nuget package, so install it with:Install-Package Microsoft.AspNet.WebApi.WebHost -Version 5.2.7
System.TypeLoadException
HResult=0x80131522
Message=Could not load type 'System.Web.Routing.RouteTable'
from assembly 'System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.
Source=System.Web.Http.WebHost
StackTrace:
at System.Web.Http.GlobalConfiguration.<>c.<CreateConfiguration>b__11_0()
at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
at System.Lazy`1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)
at System.Lazy`1.CreateValue()
at System.Lazy`1.get_Value()
at System.Web.Http.GlobalConfiguration.get_Configuration()
at AspNetCore5._0.Program.Main(String[] args) in C:\work\AspNetCore5.0\Program.cs:line 17
我最終想要實現的......是使用 AutoFac 作為我的依賴解析器(我得到了這個工作)。 但是當我按照AutoFac 關於 FilterProviders 的文檔創建我自己的自定義Filters
(例如 ModelValidationFilter、ResponseFilter、ExceptionFilter)時,它需要我獲得GlobalConfiguration.Configuration
。 關於獲取 GlobalConfiguration 的 AutoFac 文檔建議我為“標准 IIS 托管”獲取GlobalConfiguration.Configuration
,如下所示:
var config = GlobalConfiguration.Configuration;
...但它顯然失敗了。
我將不勝感激任何幫助或建議。 謝謝!
ASP.NET 內核與 ASP.NET 或 ASP.NET WebAPI 不同,雖然控制器等許多東西只需要對端口進行細微調整,但配置和路由卻大不相同。
由於您的最終目標是安裝 AutoFac 作為依賴關系解析器,請嘗試遵循 AutoFac 的ASP.NET Core 文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.