我有一个自托管的ServiceStack应用程序,我打算用它来开发一个角度应用程序。
问题是,以前,每次我对静态文件进行更改时,我都必须重新启动所有服务才能获取更改。
我想知道我是否遗漏了什么?我已经LiveReload
启用了RazorFormat
选项,但它似乎没有做任何事情?我仍然需要重新启动整个应用程序来获取更改吗?
我在这里创建了一个小型复制品:https://github.com/CallumVass/ServiceStackSelfHost
如果我对Default.cshtml
文件进行了更改,那么在我重新启动服务之前,这些更改是不会被选中的?
答案 0 :(得分:3)
问题是他正在更改来源文件,而不是输出文件。由于SS将文件复制到/bin/debug
,因此需要更改该版本。
使用HostConfig settings,我们能够在开发过程中以下列方式使用WebHostPhysicalPath
属性,同时设置SS配置:
SetConfig(new HostConfig {
#if DEBUG
DebugMode = true,
WebHostPhysicalPath = Path.GetFullPath(Path.Combine("~".MapServerPath(), "..", "..")),
#endif
});
这使我们离开了/bin/debug
并回到了源头。
答案 1 :(得分:2)
您需要将AppHost
配置设置为debug
模式:
SetConfig(new HostConfig {
DebugMode = true,
});
出于性能原因,仅在调试模式下监视更改。 See here了解更多信息。
自动重新加载修改后的视图,布局模板和部分(在调试模式下)
避免启动惩罚的最佳方法是避免首先重启AppDomain。因此,在调试模式下,我们还会执行此操作,其中后台文件系统观察程序监视所有页面,部分和布局模板以进行修改和重新编译,并在运行时自动重新加载它们,所有这些都准备好在页面后立即响应时间请求。