ServiceStack剃刀默认页面

Tom*_*Tom 16 c# servicestack

说我有2页

  1. /NotADefault.cshtml

  2. /Views/Default.cshtml

问题1.

现在我运行它,A无论我怎么命名,页面总是被隐式调用作为启动默认页面. 只有在我显式调用localhost/View/Default时才会调用
Page B.如何使页面B(View文件夹中的页面)成为我的默认页面?

问题2.

我也有NotADefaultService.csDefaultService.cs.我在后面为每个页面提供了一个Service类.但是,当A调用页面时,NotADefaultService.cs永远不会被调用.只有DefaultService.cs在调用页面时B才会调用...

我的观察是,只有View文件夹中的页面才能使其后端服务类正常工作.在View文件夹之外它不起作用.

结合Q1和Q2.

我如何能:

选项1.让后端服务类在/ root"View"文件夹外部工作?

要么

选项2./View/Default.schtml在启动时指定可以命中服务类的默认值?

myt*_*thz 24

ServiceStack中:

  • 存储在/Views/文件夹中的Razor页面称为" 查看页面"
  • 存在于其他任何地方的Razor Pages称为内容页面

它们之间的区别在于View Pages是Razor视图,用于为服务提供HTML表示(aka视图),其方式与View View适用于MVC控制器的方式大致相同.

查看页面不能被直接调用,这是角色内容页,其只能被直接调用,即服务的范围之外(或重定向到,从服务).

Razor Rockstars中,内容页面的示例包括:

鉴于View Pages的示例包括:

默认页面

对于内容页面,它default.cshtml是文件夹的索引页面.因此,要为根/路径设置默认页面,请创建/default.cshtml页面.这方面的一个例子是/default.cshtml在使用主页可重用性试玩.

如果要将视图页面用作主页,可以通过添加AppHost配置来设置默认重定向:

SetConfig(new HostConfig { 
   DefaultRedirectPath = "/home"
});
Run Code Online (Sandbox Code Playgroud)

这将根据Razor Rockstars页面中规定的规则调用匹配路线的服务,/home路线将使用最合适的View 页面.

  • <urlMappings enabled ="true"> <add url ="〜/"mappedUrl ="〜/ Home"/> </ urlMappings>隐藏/ home (8认同)