服务堆栈文档说明可以使用静态文件覆盖元和操作页面的模板。
https://github.com/ServiceStack/ServiceStack/wiki/Virtual-file-system
这很有效,但是,我更愿意将我的所有资源部署为嵌入式资源。
我的假设是,通过在hostConfig中注册我的EmbeddedResourceSources,它们将优先于现有的服务堆栈模板,但似乎并非如此:
SetConfig(new HostConfig
{
EmbeddedResourceSources = {typeof(ApiUiResource).Assembly},
EmbeddedResourceBaseTypes = {typeof(ApiUiResource)},
});
以上工作用于提供我的所有其他文件,但仍会显示元和操作页面的默认页面。我试图做的是什么?
答案 0 :(得分:2)
Config.EmbeddedResourceBaseTypes
包含加载嵌入式资源虚拟文件的顺序,因此您需要在列表的开头添加您的优先级:
var config = new HostConfig
{
EmbeddedResourceSources = {typeof(ApiUiResource).Assembly},
};
config.EmbeddedResourceBaseTypes.Insert(0,typeof(ApiUiResource));
SetConfig(config);
另一种解决方案是覆盖AppHost中的GetVirtualFileSources()
以更改返回虚拟文件源的顺序,请参阅docs for an example of this。