簡體   English   中英

無法從.Net 5.0 WebApi 訪問 GlobalConfiguration.Configuration

[英]Can't access GlobalConfiguration.Configuration from .Net 5.0 WebApi

GlobalConfiguration.Configuration在新的 ASP.NET Core WebApi 項目(.Net 5.0)中似乎不可用。

重現步驟:

  1. 創建一個新的“ASP.NET Core Web Api”項目。 (目標框架:.NET 5.0,語言:C#)
  2. 將此行添加到您的代碼中的任何位置: var config = GlobalConfiguration.Configuration;

例如將其添加到 Startup.cs:

public Startup(IConfiguration configuration)
{
        var c = GlobalConfiguration.Configuration;    // this line was added
        Configuration = configuration;
}
  1. You'll need a package for 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
  1. 運行應用程序,在我們的新代碼行看到它失敗,但以下異常:
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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM