5

我正在尝试创建一个简单的 Web API 控制器来充当 WebDAV 服务器,因为我只希望它允许目录列表和对文件的读取访问,以及与我们系统中的当前身份验证系统集成。

在使用 WebDAV 客户端 (DAVExplorer) 时,我已经设法使目录和文件列表正常工作,但是在 Windows 资源管理器中映射网络驱动器并没有发挥作用。

虽然我还没有弄清楚为什么这不起作用,但一种可能性是,当 WebDAV 服务器返回 PROPFIND 请求的结果时,它会使用 207 多状态的 Http 状态代码。这似乎不在对象HttpStatusCode使用的枚举器中HttpResponseMessage

我试图找出实际上将HttpResponseMessage返回到浏览器的响应变成了什么,以为我可以实现自己的版本并自己处理输出状态代码,但到目前为止我还没有运气。

有人对我如何实现返回 207 状态代码的 API 控制器有任何建议吗?

4

1 回答 1

7

您可以将任何内容投射intHttpStatusCode

public HttpResponseMessage Get()
{
    var response = Request.CreateResponse((HttpStatusCode)207, "something");
    return response;
}
于 2012-09-06T20:12:43.197 回答