Страница настроек бритвы ServiceStack - программирование

Страница настроек бритвы ServiceStack

Скажем, у меня 2 страницы

  • /NotADefault.cshtml

  • /Views/Default.cshtml

Вопрос 1.

Теперь я запустил его, страница A всегда получает неявное имя в качестве начальной страницы по умолчанию, независимо от того, что я называю. Страница B вызывается только при явном вызове localhost/View/Default. Как сделать страницу B (в папке "Просмотр" ) моей страницей по умолчанию?

Вопрос 2.

У меня также есть NotADefaultService.cs и DefaultService.cs. Я предоставляю каждой странице класс обслуживания сзади. Однако, когда страница A называется NotADefaultService.cs, никогда не вызывается. При вызове страницы B вызывается только DefaultService.cs...

Мое наблюдение заключается в том, что только страницы в папке View получат свой рабочий класс. Вне папки View она не работает.

Объединение Q1 и Q2.

Как я:

Вариант 1. получить класс службы backend, работающий под / root за пределами папки "Просмотр"?

ИЛИ

Вариант 2. назначьте /View/Default.schtml как мой по умолчанию при запуске, где может пострадать класс службы?

4b9b3361

Ответ 1

В ServiceStack:

  • Страницы Razor, которые существуют в папке /Views/, называются Страницы просмотра
  • Страницы Razor, которые существуют где-либо еще, называются Страницы контента

Разница между ними заключается в том, что View Pages - это виды Razor, которые используются для предоставления HTML-представлений (ака просмотров) для служб во многом таким же образом. для контроллеров MVC.

Невозможно вызывать те страницы не может, что роль Content Pages, которую может только вызывать напрямую, т.е. вне контекста услугу (или перенаправленную из службы).

В Razor Rockstars примеры страниц контента включают:

В то время как примеры Просмотр страниц включают:

  • /rockstars, который соответствует маршруту /rockstars на /RockstarsService.cs и из-за атрибута [DefaultView("Rockstars")] используется /Rockstars.cshtml Просмотреть страницу

Страницы по умолчанию

Для Страницы контента default.cshtml - это индексная страница для папки. Поэтому, чтобы установить страницу по умолчанию для корневого пути /, создайте страницу /default.cshtml. Примером этого является /default.cshtml домашняя страница, используемая в Reusability.

Если вы хотите использовать страницу просмотра в качестве домашней страницы, вы можете установить для нее перенаправление по умолчанию, добавив конфигурацию AppHost:

SetConfig(new HostConfig { 
   DefaultRedirectPath = "/home"
});

Что вызовет сервис, соответствующий маршруту /home, который будет использовать наиболее подходящую страницу просмотра на основе правил, изложенных в Страница Razor Rockstars.