Файл Stati c не обслуживается через IIS, но обслуживается через localhost - ASP. NET Core 3.1 MVC & C# - PullRequest
0 голосов
/ 05 мая 2020

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

Я использую Visual Studio для локального запуска приложения. Когда я нажимаю «IIS Express» в VS, чтобы запустить приложение, оно открывается в браузере с url http://localhost:1234/ и обслуживает файлы stati c.

Однако, когда я использую IIS для размещения своего приложения, например, когда я набираю myapp.com в моем браузере, я вижу веб-сайт в виде обычного текста. И никакие файлы stati c (css, js) не обслуживаются.

Не уверен, в чем проблема. Я долго гуглил и читал много сообщений, но большинство из них просят проверить, включена ли в IIS служба ролей stati c, или предлагают использовать app.UseStaticFiles() в файле startup.cs. Что в моем случае сделано.

program.cs:

public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
              .ConfigureWebHostDefaults(webBuilder =>
              {
                  webBuilder.UseStartup<Startup>();
              })

Startup.cs:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    app.UseDefaultFiles();
    app.UseStaticFiles();
}

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 06 мая 2020

Я не знал, что когда мы публикуем sh его в «файлы и папку» из Visual Studio, любые изменения, которые мы вносим в Visual Studio, не будут go попадать в опубликованную папку. По этой причине "app.UseStaticFiles ();" команда (которую я написал после публикации) не передается в опубликованную папку. Мне пришлось удалить опубликованную папку и повторно опубликовать sh, чтобы все работало нормально.

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