c# - 如何在 IIS 中使用 ServiceStack 浏览目录/文件?

标签 c# servicestack

我有一个目录,用于托管基于 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/

相关文章:

c# - 将 Amazon SNS 与 ServiceStack 集成

.net - AppHarbor 基于 ServiceStack.Razor 的网站预编译失败

api - 使用 Swagger 和 ServiceStack 记录响应类

c# - 在 C# 中,如何将本地文件的 datemodified 属性与 Amazon S3 文件进行比较?

c# - 为 SQLite 编写验证层的最佳方法是什么

c# - 正则表达式替换 (C#)

c# - 如何使用 ServiceStack Grpc 获取简单的字符串流?

c# - 更改 Windows 窗体中的内容

c# - 如何在 IList 上使用 Reverse(Array, Int32, Int32) 或 List<T>::Reverse Method (Int32, Int32) ?

c# - 使用 ServiceStack.Text 序列化接口(interface)类型列表