Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
Это не последняя версия этой статьи. В текущем выпуске смотрите версию .NET 9 этой статьи.
Предупреждение
Эта версия ASP.NET Core больше не поддерживается. Дополнительные сведения см. в политике поддержки .NET и .NET Core. В текущем выпуске смотрите версию .NET 9 этой статьи.
Внимание
Эта информация относится к предварительному выпуску продукта, который может быть существенно изменен до его коммерческого выпуска. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
В текущем выпуске смотрите версию .NET 9 этой статьи.
В этой статье объясняется, как размещать и развертывать Blazor приложения.
Публикация приложения
Приложения публикуются для развертывания в конфигурации 'Release'.
- Выберите команду "Опубликовать {APPLICATION}" в меню "Сборка", где
{APPLICATION}
— заполнитель имени приложения. - Выберите целевой объект публикации. Чтобы опубликовать объект в локальной среде, выберите папку.
- Оставьте расположение по умолчанию в поле выбора папки или укажите другое расположение. Выберите кнопку
Publish
.
Публикация приложения активирует восстановление зависимостей проекта и выполняет сборку проекта, прежде чем создавать ресурсы для развертывания. В ходе процесса построения удаляются неиспользуемые методы и сборки, чтобы уменьшить размер скачиваемого приложения и время загрузки.
Расположения публикации по умолчанию
-
Blazor Web App: Приложение публикуется в папке
/bin/Release/{TARGET FRAMEWORK}/publish
, где{TARGET FRAMEWORK}
обозначает целевой фреймворк. Разверните содержимое папкиpublish
на узле. -
Blazor WebAssemblyАвтономный: приложение публикуется в папку
bin/Release/{TARGET FRAMEWORK}/publish
илиbin/Release/{TARGET FRAMEWORK}/browser-wasm/publish
. Чтобы развернуть приложение как статический сайт, скопируйте содержимое папкиwwwroot
на хостинг статического сайта.
-
Blazor Server: приложение публикуется в папке
/bin/Release/{TARGET FRAMEWORK}/publish
, где шаблон{TARGET FRAMEWORK}
используется в качестве целевого фреймворка. Разверните содержимое папкиpublish
на узле. - Blazor WebAssembly
- Автономное: приложение публикуется в папке
/bin/Release/{TARGET FRAMEWORK}/publish
или папкеbin/Release/{TARGET FRAMEWORK}/browser-wasm/publish
. Чтобы развернуть приложение как статический сайт, скопируйте содержимое папкиwwwroot
на хостинг статического сайта. - Размещено: серверное приложение ASP.NET Core и клиентское Blazor WebAssembly приложение публикуются в папку
/bin/Release/{TARGET FRAMEWORK}/publish
серверного приложения, а также любые статические веб-ресурсы клиентского приложения. Разверните содержимое папкиpublish
на узле.
- Автономное: приложение публикуется в папке
СЛУЖБЫ IIS
Сведения о размещении Blazor приложения в IIS см. в следующих ресурсах:
- Размещение IIS
- Размещение и развертывание серверных приложений ASP.NET Core Blazor: Blazor Web Apps (.NET 8 или более поздней версии) и Blazor Server приложений (.NET 7 или более ранних версий), работающих в службах IIS, включая службы IIS с виртуальными машинами Azure под управлением ОС Windows и Службы приложений Azure.
- Размещение и развертывание ASP.NET Core Blazor WebAssembly с помощью IIS: автономные Blazor WebAssembly приложения (все выпуски .NET) и размещенные приложения (.NET 7 или более ранние Blazor WebAssembly версии).
- Хостинг подприложений IIS
- Следуйте инструкциям по базовому пути приложения перед публикацией приложения. В примерах используется базовый путь
/CoolApp
, и показано, как определить его из настроек приложения или других поставщиков конфигурации. - Следуйте инструкциям по настройке вложенных приложений в расширенной конфигурации. Путь к папке дочернего приложения на корневом сайте становится виртуальным путем дочернего приложения. Для базового пути приложения
/CoolApp
приложение Blazor размещается в папке с именемCoolApp
в корневом сайте, а подприложение получает виртуальный путь/CoolApp
.
- Следуйте инструкциям по базовому пути приложения перед публикацией приложения. В примерах используется базовый путь
Совместное использование пула приложений среди приложений ASP.NET Core не поддерживается, включая приложения Blazor. Используйте один пул приложений для каждого приложения при размещении с IIS и избегайте использования виртуальных каталогов IIS для размещения нескольких приложений.
Одно или несколько приложений Blazor WebAssembly, размещенных приложением ASP.NET Core, которое называется размещенным решением Blazor WebAssembly, поддерживаются для одного пула приложений. Однако мы не рекомендуем и не поддерживаем назначение одного пула приложений нескольким размещенным решениям Blazor WebAssembly или в сценариях хостинга подприложений.
Дополнительные сведения о решениях см. в статье Инструментарий для ASP.NET CoreBlazor.
Blazor ServerКонфигурация MapFallbackToPage
Этот раздел применяется только к приложениям Blazor Server . MapFallbackToPage не поддерживается ни в Blazor Web Appах, ни в Blazor WebAssembly приложениях.
В сценариях, где приложению требуется отдельная область с настраиваемыми ресурсами и компонентами Razor, выполните приведенные ниже действия.
Создайте папку в папке
Pages
приложения для хранения ресурсов. Например, раздел администратора приложения создается в новой папке с именемAdmin
(Pages/Admin
).Создайте корневую страницу (
_Host.cshtml
) для области. Например, создайте файлPages/Admin/_Host.cshtml
на основе основной корневой страницы приложения (Pages/_Host.cshtml
). Не указывайте директиву@page
на странице_Host
администратора.Добавьте макет к папке области (например,
Pages/Admin/_Layout.razor
). В макете для отдельной области задайте тег<base>
href
в соответствии с папкой области (например,<base href="/Admin/" />
). В демонстрационных целях добавьте~/
к статическим ресурсам на странице. Например:~/css/bootstrap/bootstrap.min.css
~/css/site.css
-
~/BlazorSample.styles.css
(пространство имен для примера приложения —BlazorSample
) -
~/_framework/blazor.server.js
(скрипт Blazor)
Если область должна иметь собственную папку со статическими файлами, добавьте папку и укажите её расположение в промежуточном ПО для статических файлов в
Program.cs
(например,app.UseStaticFiles("/Admin/wwwroot")
).Компоненты Razor добавляются в папку области. Как минимум, добавьте компонент
Index
в папку области с правильной директивой@page
для области. Например, добавьте файлPages/Admin/Index.razor
на основе заданного по умолчанию файлаPages/Index.razor
приложения. Укажите область администратора в качестве шаблона маршрута в верхней части файла (@page "/admin"
). Добавьте дополнительные компоненты по мере необходимости. Например,Pages/Admin/Component1.razor
с директивой@page
и шаблоном маршрута@page "/admin/component1
.В
Program.cs
вызовите MapFallbackToPage для пути запроса области сразу перед путем резервной корневой страницы до страницы_Host
:... app.UseRouting(); app.MapBlazorHub(); app.MapFallbackToPage("~/Admin/{*clientroutes:nonfile}", "/Admin/_Host"); app.MapFallbackToPage("/_Host"); app.Run();
ASP.NET Core