C# ServiceStack razor默认页面
假设我有两页C# ServiceStack razor默认页面,c#,
servicestack,C#,
servicestack,假设我有两页 /NotADefault.cshtml /Views/Default.cshtml 问题1. 现在我运行它,页面A总是作为启动默认页面隐式调用,不管我如何命名它。 只有当我显式调用localhost/View/Default时,才会调用PageB。如何使页面B(视图文件夹中的一个)成为默认页面 问题2. 我还有NotADefaultService.cs和DefaultService.cs。我在后面给每一页一个服务类。但是,当调用页面A时,不会调用NotADefaultService
/NotADefault.cshtml
/Views/Default.cshtml
A
总是作为启动默认页面隐式调用,不管我如何命名它。
只有当我显式调用localhost/View/Default时,才会调用Page
B
。如何使页面B
(视图文件夹中的一个)成为默认页面
问题2.
我还有NotADefaultService.cs
和DefaultService.cs
。我在后面给每一页一个服务类。但是,当调用页面A
时,不会调用NotADefaultService.cs
。调用页面B
时,仅调用DefaultService.cs
我的观察是,只有视图
文件夹中的页面才能使其后端服务类正常工作。在视图
文件夹之外,它不工作
结合第一季度和第二季度。
我如何:
选项1。是否让后端服务类在/root
外部的“视图”文件夹下工作
或
选项2。指定/View/Default.schtml
作为启动时的默认值,在启动时可以点击服务类?中:
文件夹中存在的Razor页面称为查看页面/Views/
- 存在于其他任何地方的Razor页面称为内容页面
- 它调用内容页
- 它调用内容页
- 与上的
路线匹配,并且由于/rockstars
属性,使用查看页面[DefaultView(“rockstars”)]
default.cshtml
是文件夹的索引页。因此,要为根路径设置默认页面,请创建一个/default.cshtml
页面。演示中使用的主页就是一个例子
如果要将视图页面用作主页,可以通过添加AppHost配置来设置默认重定向:
SetConfig(new HostConfig {
DefaultRedirectPath = "/home"
});
这将调用与
/home
路由匹配的服务,该路由将根据页面中列出的规则使用最合适的查看页面。使用DefaultRedirectPath时,是否可以执行任何操作以不在地址中显示/home?不,它仅重定向。您需要一个用于在自定义RawHttpHandler中impl处理默认请求的函数,或者需要一个catch all函数来为默认路由提供动态请求。有关可用的自定义挂钩的详细信息,请参阅。这是否意味着ServiceStack.Razor不遵循MVC模式(在某种程度上,视图页面除外)?不例外,您的服务(控制器)返回/Views
目录中Razor页面(视图)的响应(模型)。外部页面(即内容页面)直接调用,不经过服务。这就是这个答案的本质所在。隐藏/主页