我有一个Web控制台,我正在使用ServiceStack的AppHostHttpListenerBase构建(即自托管)。
我想使用less.js所以我可以使用.less样式表,但是当对任何非.js,.css,.html等文件发出请求时,ServiceStack总是返回'Forbidden'。 / p>
我尝试在app.config中使用httpmodule处理路径“* .less”,但我不确定ServiceStack自托管是否完全解释了配置文件。
有没有办法配置ServiceStack来提供任意文件类型的静态内容?
答案 0 :(得分:4)
我自己解决了这个问题。终身提示:在混淆SO社区之前使用IntelliSense进行探索!
public override void Configure(Funq.Container container)
{
ServiceStack.Logging.LogManager.LogFactory = new ServiceStack.Logging.Support.Logging.ConsoleLogFactory();
Plugins.Add(new ServiceStack.Razor.RazorFormat());
var config = new EndpointHostConfig
{
CustomHttpHandlers = {
{ System.Net.HttpStatusCode.NotFound, new ServiceStack.Razor.RazorHandler("/notfound") }
},
EnableFeatures = Feature.All ^ Feature.Metadata
};
config.AllowFileExtensions.Add("less");
SetConfig(config);
}
AllowFileExtensions属性是我想要的。在文件路径中指向浏览器现在下载文件(我宁愿在浏览器中查看它,根据css和js文件,我猜这是在响应的标题中控制,但我cba修复它,因为它完美地工作在'link href =“blah.less”')