2

我有一个基于 ServiceStack 托管我的 Web 服务的目录。在目录中,我有一个帮助文件夹,其中包含一些 html 页面。但是,当我尝试浏览这些页面时,ServiceStack 认为我正在尝试访问路由并给我“未找到请求的处理程序”。

有没有办法告诉 ServiceStack 忽略某些路由?如果路由与 IIS 中存在的目录匹配,它肯定不是服务路由吗?

http://www.example.com/exampleservice/metadata <--很好

http://www.example.com/exampleservice/help/main.html <-- 与 ServiceStack 无关,因为它是一个目录

4

1 回答 1

2

这看起来已经在 ServiceStack v4 中很好地实现了。Demis 在这里发布了关于它的信息。

虚拟文件系统现在完全集成到 ServiceStack 的其余部分中,这使得一些有趣的事情成为可能:

  • Config.WebHostPhysicalPath您希望从其中提供 ServiceStack 中的物理文件的集合
  • 当 ServiceStack 挂载在自定义路径时,您现在可以访问静态文件,例如 /api/default.html 将在 ~/default.html 处提供静态文件
  • 默认情况下,ServiceStack 回退(即当不存在物理文件时)在 dll 中查找嵌入式资源文件。
  • 您可以指定Config.EmbeddedResourceSources默认查看的程序集的数量和优先级:
    • 包含您的 AppHost 的程序集
    • 服务栈.dll
于 2013-11-27T11:03:58.387 回答