Попытка заставить работать .Net Boxed Framework Используя .Net Core Framework 3.0 - PullRequest
0 голосов
/ 19 сентября 2019

Меня попросили настроить и выяснить, как заставить .NET в штучной упаковке работать на .NET Framework 3.0.Я застрял в том, как решить эту проблему, поскольку я никогда не видел ее раньше, и я не понимаю, как заставить ее работать.

Если у кого-то есть идея или она работает с 3.0, помогитебудет очень признателен.

Я в основном искал другие способы использования IServiceProvider, но единственное решение, которое мне пришло в голову, заключается в том, что мне нужно собрать все эти службы в переменную и внедритьв любом случае, согласно сообщению об ошибке

public IServiceProvider ConfigureServices(IServiceCollection services) =>
            services
                .AddCorrelationIdFluent()
                .AddCustomCaching()
                .AddCustomOptions(this.configuration)
                .AddCustomRouting()
                .AddCustomResponseCompression()
                .AddCustomStrictTransportSecurity()
                .AddCustomHealthChecks()
                .AddHttpContextAccessor()
                .AddMvcCore()
                    .SetCompatibilityVersion(CompatibilityVersion.Version_3_0)
                    .AddAuthorization()
                    .AddJsonFormatters()
                    .AddCustomJsonOptions(this.hostingEnvironment)
                    .AddCustomCors()
                    .AddCustomMvcOptions(this.hostingEnvironment)
                .Services
                .AddCustomGraphQL(this.hostingEnvironment)
                .AddCustomGraphQLAuthorization()
                .AddProjectRepositories()
                .AddProjectSchemas()
                .BuildServiceProvider();

Это сообщение об ошибке гласит:

Вызов BuildServiceProvider из кода приложения приводит к дополнительной копии одноэлементных сервисовсоздаетсяРассмотрим альтернативы, такие как сервисы внедрения зависимостей в качестве параметров для «Конфигурирования»

Примечание: Я не добавил никакого дополнительного кода в платформу, но просто пытаюсь сделать его без ошибок для версии3.0.

Если у кого-то есть идеи, помогите с благодарностью.

1 Ответ

0 голосов
/ 19 сентября 2019

Я не уверен, что это на 100% правильно, потому что у меня нет возможности проверить это прямо сейчас, но вот что я сделал, чтобы освободить этот раздел кода без ошибок.

 public void ConfigureServices(IServiceCollection services)
        {
            _ = services
               .AddCorrelationIdFluent()
               .AddCustomCaching()
               .AddCustomOptions(this.configuration)
               .AddCustomRouting()
               .AddCustomResponseCompression()
               .AddCustomStrictTransportSecurity()
               .AddCustomHealthChecks()
               .AddHttpContextAccessor()
               .AddMvcCore()
                   .SetCompatibilityVersion(CompatibilityVersion.Version_3_0)
                   .AddAuthorization()
                   .AddCustomJsonOptions(this.hostingEnvironment)
                   .AddCustomCors()
                   .AddCustomMvcOptions(this.hostingEnvironment);

            _ = services
               .AddCustomGraphQL(this.hostingEnvironment)
               .AddCustomGraphQLAuthorization()
               .AddProjectRepositories()
               .AddProjectSchemas();

            _ = services.AddMvc()
                    .AddNewtonsoftJson();
        }

Мне сказалиСотрудник, чтобы убрать .BuildServiceProvider, поэтому его больше нет. Если это не так или кто-то знает лучший способ, сообщите нам:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...