我有一个目录,用于托管基于 ServiceStack 的 Web 服务。在目录中我有一个帮助文件夹,其中有一些 html 页面。然而,当我尝试浏览这些页面时,ServiceStack 认为我正在尝试访问一条路线,并给我“未找到请求的处理程序”。
有什么方法可以告诉ServiceStack忽略某些路由吗?如果路由与 IIS 中存在的目录相匹配,那么它肯定不能是服务路由吗?
http://www.example.com/exampleservice/metadata <-- 很好
http://www.example.com/exampleservice/help/main.html <-- 与 ServiceStack 无关,因为它是一个目录
最佳答案
这看起来在 ServiceStack v4 中得到了很好的实现。 Demis 发布了相关信息 here .
虚拟文件系统现已完全集成到 ServiceStack 的其余部分中,这实现了一些有趣的功能:
Config.WebHostPhysicalPath
设置您希望在 ServiceStack 中提供物理文件的位置- 现在,当 ServiceStack 安装在自定义路径(例如:/api/default.html 将在 ~/default.html 处提供静态文件
- 默认情况下,ServiceStack 会回退(即当不存在物理文件时)在 dll 内查找嵌入式资源文件。
- 您可以使用
Config.EmbeddedResourceSources
指定它查看的程序集的数量和优先级,默认情况下,它会查看:- 包含您的 AppHost 的程序集
- ServiceStack.dll
关于c# - 如何在 IIS 中使用 ServiceStack 浏览目录/文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15428467/