0

我有一个非常奇怪的问题。在我们的应用程序中,我有内容页面,位于应用程序根目录的帮助文件夹中。在帮助文件夹中,我有一堆扩展名为 .md 的 Markdown 文件。这些由 a 路由提供,例如:

http://localhost/myapp/help/calendar

结果将是当用户导航到该路径时,日历.md 文件将被 SS 拾取并发送到浏览器。

我遇到的问题是路径返回 SS 404 错误。

如果我将 calendar.md 更改为 calendar.cshtml,它可以工作。我的内容被 SS 拾取并按预期发送到浏览器。

为什么它会为我提供 .cshtml 文件的内容,但 .md 文件却给了我 404?

我正在运行 SS 3.9.70。

有谁知道可能是什么原因?环境的?

来自 AppHost 的片段

AllowFileExtensions = { "swf", "webm", "mp4" },
MarkdownBaseType = typeof(BaseHelpPage),  
MarkdownGlobalHelpers = new Dictionary<string, Type> { { "Url",typeof(UrlHelper) } },
CustomHttpHandlers =  {
    { HttpStatusCode.Unauthorized, new RazorHandler("/AccessDenied") },
    { HttpStatusCode.Forbidden, new RazorHandler("/AccessDenied") },
    { HttpStatusCode.NotFound, new RazorHandler("/NotFound") }
},
4

1 回答 1

1

您需要将文件类型添加.md.markdownServiceStack 的文件扩展名白名单。在您的Configure方法中,AppHost您可以指定文件扩展名以允许使用AllowFileExtensions

SetConfig(new EndpointHostConfig {
    AllowFileExtensions = { "md", "markdown" }
});
于 2015-04-23T22:27:23.177 回答