如何在 IIS 中使用 ServiceStack 浏览到目录/文件

本文关键字:浏览 文件 ServiceStack IIS | 更新日期: 2023-09-27 18:04:06

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

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

http://www.example.com/exampleservice/metadata <--精细

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

如何在 IIS 中使用 ServiceStack 浏览到目录/文件

这看起来在ServiceStack v4中得到了很好的实现。Demis在这里发布了它。

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

  • Config.WebHostPhysicalPath设置您希望从何处提供 ServiceStack 中的物理文件
  • 现在,当 ServiceStack 挂载在自定义路径时,您可以访问静态文件,例如/api/default.html 将在 ~/default 处提供静态文件.html
  • 默认情况下,ServiceStack 回退(即当不存在物理文件时(以在 dll 中查找嵌入的资源文件。
  • 您可以指定它查看的程序集的数量和优先级,Config.EmbeddedResourceSources默认情况下查看的程序集:
    • 包含应用程序主机的程序集
    • 服务堆栈.dll