Página predeterminada de la maquinilla de afeitar ServiceStack

Digamos que tengo 2 páginas

  1. /NotADefault.cshtml

  2. /Views/Default.cshtml

Pregunta 1.

Ahora lo ejecuto, la página A siempre se llama implícitamente como página predeterminada de inicio, sin importar el nombre que le dé.
La página B solo se ejecutará cuando llame explícitamente a localhost / View / Default. ¿Cómo hago que la página B (la que está en la carpeta Ver) sea mi página predeterminada?

Pregunta 2.

También tengo NotADefaultService.cs y NotADefaultService.cs . Doy a cada página una clase de Servicio en la parte posterior. Sin embargo, cuando la página A se llama NotADefaultService.cs nunca se llama. Solo se llama a DefaultService.cs cuando se llama a la página B

Mi observación es que solo las páginas en la carpeta View tendrán su clase de servicio de fondo trabajando. Fuera de la carpeta View , no funciona.

Combinando Q1 y Q2.

Cómo puedo:

Opción 1. ¿ la clase de servicio de back-end trabaja bajo / root fuera de la carpeta “Ver”?

O

Opción 2 /View/Default.schtml designo /View/Default.schtml como mi valor predeterminado en la puesta en marcha, ¿dónde se puede acceder a la clase de servicio?

En ServiceStack :

  • Las páginas Razor que existen en la carpeta /Views/ se llaman Ver páginas
  • Las páginas Razor que existen en cualquier otro lugar se denominan Páginas de contenido

La diferencia entre ellos es que las páginas de vista son vistas de Razor que se utilizan para proporcionar las representaciones HTML (también conocidas como vistas) para los servicios de la misma manera en que las páginas de visualización funcionan para los controladores MVC.

Las páginas de vista no se pueden llamar directamente, ese es el rol de las páginas de contenido , que solo se pueden llamar directamente, es decir, fuera del contexto de un servicio (o redirigido a, desde un servicio).

En Razor Rockstars , ejemplos de páginas de contenido incluyen:

  • / stars / dead / cobain / que llama a la página de contenido /stars/dead/Cobain/default.cshtml
  • / TypedModelNoController que llama a la página de contenido /TypedModelNoController.cshtml

Mientras que los ejemplos de Ver páginas incluyen:

  • / rockstars que coincide con la ruta /rockstars en el /RockstarsService.cs y debido al [DefaultView("Rockstars")] , utiliza la /Rockstars.cshtml Página de visualización

Páginas predeterminadas

Para las páginas de contenido, default.cshtml es la página de índice de una carpeta. Entonces, para establecer una página predeterminada para la raíz / ruta, cree una página /default.cshtml . Un ejemplo de esto es la página de inicio /default.cshtml utilizada en la demostración de Reusability .

Si desea utilizar una página de visualización como página de inicio, puede configurar la redirección predeterminada agregando la configuración de AppHost:

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

Lo que llamaría a un servicio que coincida con la ruta /home que usará la Página de visualización más adecuada según las reglas establecidas en la página de Razor Rockstars .