我正在尝试创建一个简单的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;
}