Lokalizacja: przestarzały konstruktor usunięty w narzędziu pośredniczącym lokalizacji żądania

Konstruktor RequestLocalizationMiddleware , który nie ma parametru ILoggerFactory , został oznaczony jako przestarzały w tym zatwierdzeniu. W ASP.NET Core 5.0 przestarzały konstruktor został usunięty. Aby zapoznać się z dyskusją, zobacz dotnet/aspnetcore#23785.

Wersja wprowadzona

5.0 (wersja zapoznawcza 8)

Stare zachowanie

Przestarzały konstruktor RequestLocalizationMiddleware.ctor(RequestDelegate, IOptions<RequestLocalizationOptions>) istnieje.

Nowe zachowanie

Konstruktor przestarzały RequestLocalizationMiddleware.ctor(RequestDelegate, IOptions<RequestLocalizationOptions>) nie istnieje.

Przyczyna zmiany

Ta zmiana gwarantuje, że middleware lokalizujący żądania zawsze ma dostęp do rejestratora.

Podczas ręcznego konstruowania wystąpienia klasy RequestLocalizationMiddleware, przekaż wystąpienie ILoggerFactory w konstruktorze. Jeśli prawidłowe ILoggerFactory wystąpienie nie jest dostępne w tym kontekście, rozważ przekazanie do konstruktora oprogramowania pośredniczącego instancji NullLoggerFactory.

Interfejsy API, których dotyczy problem

RequestLocalizationMiddleware.ctor(RequestDelegate, IOptions<RequestLocalizationOptions>)