#asp.net #azure #iis #web-config #azure-web-app-service
#asp.net #azure #iis #web-config #azure-web-app-service
Вопрос:
У меня есть ASP.NET Основное приложение, размещенное как веб-приложение Azure по URL:
https://my-webapp-url.azurewebsites.net/
Вот моя веб-конфигурация:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="1048576000" />
</requestFiltering>
</security>
<handlers>
<remove name="aspNetCore" />
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".My.WebApp.dll" stdoutLogEnabled="false" stdoutLogFile=".logsstdout" />
</system.webServer>
</configuration>
Любой пользователь может получить доступ:
https://my-webapp-url.azurewebsites.net/info
страница для просмотра состояния работоспособности моего приложенияhttps://my-webapp-url.azurewebsites.net/swagger
страница для просмотра документации API моего приложения
Моя проблема заключается в следующем:
- Что нужно сделать, чтобы разрешить пользователям доступ к жестко заданному пути, подобному
https://my-webapp-url.azurewebsites.net/my-extra-file.html
, чтобы при запросе этого URL возвращалась HTML-страница?
В настоящее время, если у меня есть my-extra-file.html
в wwwroot
каталоге веб-приложения, и я пытаюсь получить доступ https://my-webapp-url.azurewebsites.net/my-extra-file.html
, я получаю 404.0.
Заранее благодарим вас и приносим извинения за любые ошибки.
Комментарии:
1. Если это приложение ASP .NET Core MVC, вам необходимо добавить метод
app.UseStaticFiles();
inConfigure
класса Startup.2. @Llazar, возможно ли определить конфигурацию для обслуживаемого
my-extra-file.html
полностью вweb.config
3. Самый простой способ — добавить этот метод в класс Startup, потому что веб-серверу нужен этот метод для обслуживания статических файлов, таких как html, css, javascript и image. Я не уверен, что настройка может быть выполнена из web.config.
4. @Llazar , это, кажется, самый простой вариант. Пробовал редактировать непосредственно в конфигурации — не сработало. Добавил
app.UseStaticFiles()
, создалwwwroot
папку с необходимыми файлами внутри в проекте — все хорошо. Я опубликую ответ позже. Спасибо за помощь
Ответ №1:
Я подведу итог и опубликую его в качестве ответа.
Когда вы используете Asp.net для основного приложения mvc вам необходимо добавить app.UseStaticFiles();
в Configure
метод Startup
класса. Чтобы веб-сервер мог обрабатывать статический файл, подобный html, css, javascript и image.
Затем создайте HTML-файл в wwwroot
папке и получите к нему доступ.