Вы можете добавить бритву к существующей ServiceStack Web App путем добавления необходимого config sections to your Web.config:
<configuration>
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false"/>
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false"/>
</sectionGroup>
</configSections>
<appSettings>
<add key="webPages:Enabled" value="false" />
</appSettings>
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<pages pageBaseType="ServiceStack.Razor.ViewPage">
<namespaces>
<add namespace="System" />
<add namespace="System.Linq" />
<add namespace="ServiceStack" />
<add namespace="ServiceStack.Html" />
<add namespace="ServiceStack.Razor" />
<add namespace="ServiceStack.Text" />
<add namespace="ServiceStack.OrmLite" />
<add namespace="ProjectNamespace" />
<add namespace="ProjectNamespace.ServiceModel" />
</namespaces>
</pages>
</system.web.webPages.razor>
</configuration>
Затем Установка пакета ServiceStack.Razor:
PM> Install-Package ServiceStack.Razor
Какой будет настроить свой проект, чтобы включить ServiceStack's Razor support , Оттуда вы можете добавить представление для вашей службы, назвав его после запроса или ответа DTO, например:
/Views
RequestDto.cshtml
/Shared
_Layout.cshtml
Как это вид модели для существующей службы, @model
будет для служб реагирования DTO.
Если все настроено правильно, вызов существующей службы из браузера (или любой HTTP-запрос с Accept: text/html
) вернет результат из вашего представления вместо службы ServiceStack.