Не удается получить доступ ко всем методам расширения для IApplicationBuilder за пределами Startup.cs - PullRequest
0 голосов
/ 19 октября 2018

Я пытаюсь добавить метод расширения для IApplicationBuilder и запустить app.UseHsts(), app.UseHttpsRedirection() и app.UseStaticFiles().

Но я получаю сообщение об ошибке при попытке запустить различные команды, говоря этоне могу найти метод, но я определил, используя Microsoft.AspNetCore.Builder, который содержит методы расширения.

По некоторым причинам я не могу получить доступ к тем же методам расширения в своем расширении IApplicationBuilder, что и в Startup.cs.Я могу получить доступ к нескольким методам расширения, но не ко всем.

Код:

Запуск:

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    app.UseHsts();
    app.UseHttpsRedirection();
    app.UseStaticFiles();
}

Расширение:

using Microsoft.AspNetCore.Builder;

public static IApplicationBuilder UseLCDefault(this IApplicationBuilder app)
{
    IHostingEnvironment env = app.ApplicationServices.GetRequiredService<IHostingEnvironment>();

    app
        .UseSession(new SessionOptions() { IOTimeout = new TimeSpan(3, 0, 0) })
        .UseMvcWithDefaultRoute();

    app.UseStaticFiles(); //causes an exception, method can't be found

    return app;
}

1 Ответ

0 голосов
/ 19 октября 2018

Хотя они совместно используют одно и то же пространство имен, они принадлежат разным библиотекам.

Убедитесь, что везде, где определяется этот метод расширения, он имеет ссылку на необходимые зависимости.

UseHsts и UseHttpsRedirection расширения от Microsoft.AspNetCore.HttpsPolicy.dll

UseStaticFiles от Microsoft.AspNetCore.StaticFiles.dll .

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