Разверните веб-приложение Blazor в общей папке - PullRequest
0 голосов
/ 03 ноября 2018

Blazor можно использовать для создания клиентской веб-страницы, написанной на C #. Я читал в разных местах (например, MSDN Magazine, статья ), что после сборки я могу поместить файлы на любой сервер. Насколько я понимаю, размещение артефактов в общей папке также должно быть возможным.

Но это не то, что я наблюдаю. Запуск dotnet run в каталоге проекта веб-приложения Blazor, созданного мной с помощью шаблона в Visual Studio, приводит к ускорению работы веб-сервера kestrel, и я могу получить доступ к рабочей веб-странице по указанному адресу http://localhost:port/.

Когда я открываю index.html, который был сгенерирован по пути WebApplication1\bin\Debug\netstandard2.0\publish\WebApplication1\dist с помощью dotnet publish, я вижу только текст «Загрузка ...» в моем веб-браузере.

Я посмотрел на index.html и на первый взгляд похоже, что путь к _framework/blazor.webassembly.js соответствует структуре каталогов. Где подвох?

Ответы [ 2 ]

0 голосов
/ 12 июня 2019

Я запустил HTTP-сервер с номером порта в папке, и приложение работало нормально с URL-адресом, таким как http://localhost:4565/. Используется этот код HTTP-сервера . Но в целом любой HTTP-сервер работает просто отлично.

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

Вы говорите:

Когда я открываю index.html, который был сгенерирован по пути WebApplication1 \ bin \ Debug \ netstandard2.0 \ publish \ WebApplication1 \ dist с помощью публикации dotnet, я вижу только текст "Загрузка ..." в мой веб-браузер.

Это потому, что Blazor рассчитывает найти DLL на корневом пути. Я имею в виду, что все будет работать нормально, если вы скопируете содержимое dist в корневой каталог вашего веб-сервера, но не скопируете его в «подпапку» корневого каталога.

Если вы хотите обслуживать файлы по пути (а не из корня), то вам нужно установить базовый путь приложения Я имею в виду, изменить:

<base href="/" /> 

до

<base href="/your_path/" />

на index.html стр.

Из документов:

Базовый путь приложения - это корневой путь виртуального приложения на сервере. Например, приложение, которое находится на сервере Contoso в виртуальной папке в /CoolBlazorApp/, достигнуто в https://www.contoso.com/CoolBlazorApp и имеет виртуальный базовый путь /CoolBlazorApp/.

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