Запуск шаблона ASP.NET Boilerplate в виртуальном каталоге - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть угловой шаблон, созданный ASP.NET Boilerplate. Я успешно опубликовал его, и он работает на IIS под веб-сайтом. Мой клиент, однако, хочет, чтобы он работал в виртуальном каталоге, а не на веб-сайте для себя. enter image description here

Я обновил appconfig.json , как показано ниже:

{
  "remoteServiceBaseUrl": "http://localhost:8080/Training",
  "appBaseUrl": "http://localhost:8080/Training"
}

и сделал то же самое с App в appSettings.json :

"App": {
    "ServerRootAddress": "http://localhost:8080/Training/",
    "ClientRootAddress": "http://localhost:8080/Training/",
    "CorsOrigins": "http://localhost:8080/Training"
}

По какой-то причине, когда я запускаю приложение, я получаю следующие ошибки, что оно не может загрузить некоторые пакеты CSS и JavaScript: enter image description here

Я вручную изменил index.html в папке wwwroot и добавил http://localhost:8080/Training/ в начало каждого href. Благодаря этому все эти ошибки исчезли, и теперь я остаюсь с этой ошибкой:

GET http://localhost:8080/assets/appconfig.json 404 (Not Found)

Что, я думаю, относится к файлу AppPreBootstrap.ts , где он читает из файла appconfig.json .

Нужно ли где-то вносить какие-либо изменения в настройки приложения, прежде чем публиковать его, чтобы избавиться от вышеуказанных проблем?

1 Ответ

0 голосов
/ 10 ноября 2018

Убедитесь, что appRootUrl заканчивается '/' в AppPreBootstrap.ts :

private static getApplicationConfig(appRootUrl: string, callback: () => void) {
    appRootUrl += appRootUrl.endsWith('/') ? '' : '/'; // Add this line
    return abp.ajax({
        url: appRootUrl + 'assets/' + environment.appConfig,
        // ...
    }).done(result => {
        // ...
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...