如何使用IIS中的ServiceStack浏览目录/文件?

时间:2013-03-15 09:12:58

标签: c# servicestack

我有一个基于ServiceStack托管我的Web服务的目录。在目录中我有一个帮助文件夹,里面有一些html页面。但是,当我尝试浏览这些页面时,ServiceStack认为我试图点击一条路线并给我“Handler for Request not found”。

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

http://www.example.com/exampleservice/metadata< - fine

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

1 个答案:

答案 0 :(得分:2)

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

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

  • Config.WebHostPhysicalPath设置您希望ServiceStack中的物理文件从
  • 提供的位置
  • 现在,当ServiceStack安装在自定义路径上时,您可以访问静态文件,例如/api/default.html将在〜/ default.html
  • 中提供静态文件
  • 默认情况下,ServiceStack会回退(即没有物理文件时)以查找dll中的嵌入式资源文件。
  • 您可以使用Config.EmbeddedResourceSources指定其查看的程序集的数量和优先级,默认情况下会查看:
    • 包含AppHost的程序集
    • ServiceStack.dll