我正在尝试创建一个简单的web api控制器来充当webdav服务器,因为我只希望它允许目录列表和读取文件访问,以及与我们系统中现有的身份验证系统集成。
在使用webdav客户机(davexplorer)时,我设法使目录和文件列表正常工作,但是在windows资源管理器中映射网络驱动器并不是一件容易的事。
虽然我还没有弄清楚为什么这不起作用,但有一种可能性是,当WebDAV服务器返回PropFind请求的结果时,它使用的HTTP状态代码是207 multi status。这似乎不在HttpStatusCode对象使用的HttpResponseMessage枚举器中。
我试图找出究竟是什么将HttpResponseMessage转换为返回到浏览器的响应,以为我可以实现自己的版本,自己处理输出状态代码的问题,但到目前为止,我还没有任何运气。
有人对我如何实现返回207状态代码的api控制器有什么建议吗?

最佳答案

您可以将任何int转换为HttpStatusCode

public HttpResponseMessage Get()
{
    var response = Request.CreateResponse((HttpStatusCode)207, "something");
    return response;
}

08-16 11:12