Различные базовые пути в зависимости от среды разработки / производства - PullRequest
0 голосов
/ 11 декабря 2019

Я только что опубликовал приложение Blazor на нашем сервере разработки, чтобы проверить, все ли работает нормально. Я настроил сервер так, чтобы мне приходилось обращаться к приложению по адресу, подобному следующему:

serveraddress:8090/UserManagement

На моей локальной машине разработки мне не нужна папка UserManagement, я просто получаю доступ и перенаправляю прямо намои страницы. Например, моя индексная страница будет доступна на

@page "/"

на моей локальной машине. Но когда я запускаю программное обеспечение на сервере разработки, к пути должен быть добавлен дополнительный тег / UserManagement. Я установил переменную ASPNETCORE_ENVIRONMENT на «Разработка» на моем сервере и попытался изменить тег в _Hosts.cshtml следующим образом:

<environment include="Development">
    <base href="~/UserManagement" />
</environment>
<environment include="Production">
    <base href="~/" />
 </environment>

К сожалению, это не работает, и всеперенаправления идут в / вместо / UserManagement /. Есть идеи?

1 Ответ

0 голосов
/ 12 декабря 2019

Хорошо, я думаю, что нашел решение. Сначала я изменил базовый URL-адрес, чтобы только когда была найдена переменная среды разработки, использовался базовый URL-адрес / UserManagement:

_Hosts.cshtml:

<environment include="Development">
        <base href="/UserManagement/" />
    </environment>
    <environment exclude="Development">
        <base href="~/" />
    </environment>

Затем я добавил это в самое начало файла setup.cs 'configure-метод:

app.UsePathBase("/UserManagement");

Но само по себе это не помогло. Проблема заключалась в том, что я использовал ссылки hrefs для пересылки на другую страницу:

<a href="/CreateD5User" class="btn btn-success">New User</a>

С косой чертой каталог UserManagement не был подготовлен. Однако после удаления начального слеша это сработало, и / UserManagement / был добавлен.

<a href="CreateD5User" class="btn btn-success">New User</a>
...