bgundas Ответов: 1

Как использовать относительный путь для вызова приложения blazor из приложения webforms?


это действительно работает :

<asp:menuitem navigateurl="https://localhost:44335/counter" text="свертывающие сопоставления">

однако относительный путь не работает :

&ЛТ;АСП:меню navigateurl свойство="../../../../BlazorApp1/счетчик" текст="свернуть сопоставлений"и GT;

У меня есть решение с двумя проектами, форм приложение и blazor сервер приложений. Для нового
функциональность, которую я буду реализовывать, я хочу попробовать blazor server, вот почему мне нужно вызвать приложение blazor server из приложения webforms (4.6.1)

как я могу получить относительный путь для приложения blazor?
ссылка будет находиться в приложении webfroms.

Что я уже пробовал:

<asp:MenuItem     NavigateUrl="../../../../BlazorApp1/counter" Text="RollUp Mappings" />

F-ES Sitecore

Не уверен, что это сработает. Абсолютный url-адрес работает, когда вы делаете http-вызов другому хосту, который запускает этот сайт blazor на том хост-сервере, который поддерживает blazor, и возвращает html. Использование относительного пути означает доступ к странице, работающей на том же хосте, что и родительский сайт (webforms), который не поддерживает вашу страницу blazor. Вы эффективно пытаетесь запустить webforms и blazor на одном и том же сайте, который, я не уверен, поддерживается. Если это так, то вы не настроили его должным образом.

Richard Deeming

Репост
Это тот же самый вопрос, который вы опубликовали вчера:
Как использовать АСП:объект MenuItem свойство navigateurl свойство вызывать blazorserver приложения в одном решении?[^]

Вы не можете использовать относительный путь для перехода от одного проекта к другому при запуске их из Visual Studio.

bgundas

Нет, сэр, это связано, но не тот же самый вопрос. другой вопрос был о создании нескольких стартап-проектов. Я заставила его работать с твоей помощью.
Однако теперь проблема возникнет, когда я поставлю этот код dev server. Как я узнаю, где находится приложение blazor, размещенное на сервере dev? Вот почему мне нужно использовать какой-то относительный url-адрес, чтобы я все еще мог вызывать приложение blazor на серверах dev или uat.

1 Ответов

Рейтинг:
2

Richard Deeming

Цитата:
Как я узнаю, где находится приложение blazor, размещенное на сервере dev?
Поместите базовый URL-адрес другого приложения в поле appSettings раздел ваш web.config файл. Вы можете использовать конструктор выражений настроек приложения, чтобы вставить это значение на свою страницу:
<appSettings>
    <add key="RollUpMappingsUrl" value="https://localhost:44335/counter" />
</appSettings>
<asp:MenuItem NavigateUrl="<%$ AppSettings:RollUpMappingsUrl %>" Text="RollUp Mappings" />
ASP.NET обзор выражений | Microsoft Docs[^]

При развертывании приложения обновите конфигурационный файл, чтобы указать текущий URL-адрес для использования.