1. ホーム
  2. .net

[解決済み】InvalidOperationException: 型 'Microsoft.AspNetCore.Http.IHttpContextAccessor' のサービスを解決できません。

2022-04-18 01:35:02

質問

asp.net core RC1 プロジェクトを RC2 に変換し始めたところ、次のような問題に直面しました。 IHttpContextAccessor が解決されない。

簡単のために、Visual Studio Template を使って新しい ASP.NET RC2 プロジェクトを作成しました。 ASP.NET Core Web Application (.Net Framework) . そして、テンプレートが作成してくれたHomeControllerのコンストラクタを追加しました。

public HomeController(IHttpContextAccessor accessor)
{
}

そして、アプリケーションを起動すると、次のエラーが表示されます。

InvalidOperationException: TestNewCore.Controllers.HomeController をアクティブにしようとしているときに、タイプ 'Microsoft.AspNetCore.Http.IHttpContextAccessor' のサービスを解決できません。 в Microsoft.Extensions.Internal.ActivatorUtilities.GetService(IServiceProvider sp, Type type, Type requiredBy, Boolean isDefaultParameterRequired)

私の実際のアプリケーションでは IHttpContextAccessor にアクセスするために、独自のサービスクラスで _contextAccessor.HttpContext.Authentication_contextAccessor.HttpContext.User . RC1ではすべて正常に動作しています。では、どのようにRC2ではどうなるのでしょうか?

解決方法は?

IHttpContextAccessorはデフォルトで配線されなくなったので、自分で登録する必要があります。

services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();