私はasp.netコアRC1プロジェクトをRC2に変換し始めましたが、今はIHttpContextAccessor
が解決しないという問題に直面しました。InvalidOperationException:タイプ 'Microsoft.AspNetCore.Http.IHttpContextAccessor'のサービスを解決できません
わかりやすくするために、Visual StudioテンプレートASP.NET Core Web Application (.Net Framework)
を使用して新しいASP.NET RC2プロジェクトを作成しました。 HomeControllerのテンプレートを作成してくれました。
public HomeController(IHttpContextAccessor accessor)
{
}
そして、私は次のエラー受け取る私がアプリケーションを起動した後:私の実際のアプリケーションでは
InvalidOperationException: Unable to resolve service for type 'Microsoft.AspNetCore.Http.IHttpContextAccessor' while attempting to activate 'TestNewCore.Controllers.HomeController'. в Microsoft.Extensions.Internal.ActivatorUtilities.GetService(IServiceProvider sp, Type type, Type requiredBy, Boolean isDefaultParameterRequired)
を私は_contextAccessor.HttpContext.Authentication
にして_contextAccessor.HttpContext.User
へのアクセスを取得するために私自身のサービス・クラスでIHttpContextAccessor
を解決する必要があります。 EverethingはRC1で正常に動作します。だからRC2にどうやっていると思う? IHttpContextAccessorはもはやデフォルトでアップ配線され
それが働いている:
これは同等です。 'services.AddScoped() 'と同じ話 –
YuriyP
適切なスコープが公式に推奨されていますか?それは 'Singleton'、' Scoped'、または 'Transient'でしょうか? –
これはここで議論され、複数の人が安全に「シングルトン」になることができることを確認します。 https://github.com/aspnet/Hosting/issues/793 –