hy1*_*y13 5 .net c# sharepoint proxy webdav
我正在尝试使用WebClient和independentntsoft 的WebDav .NET库将文件上传到SharePoint库.首先我遇到的问题是Upload-method返回了HTTP 403的异常.我意识到我必须通过代理.现在它返回HTTP 405.我也使用了ClientOM,但是无法在那里配置代理设置,所以我仍然在那里获得HTTP 403.
我用于WebClient和WebDav .NET的代码如下:
Web客户端:
webClient.UseDefaultCredentials = true;
string[] bypassList = { "localhost" };
webClient.Proxy = new WebProxy("proxy", true, bypassList, new NetworkCredential("user", "password"));
try
{
byte[] response = webClient.UploadFile("http://sharepoint/testBlankSite/testLibrary/TestUpload.txt", "PUT", @"...\Desktop\TestUpload.txt");
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
Run Code Online (Sandbox Code Playgroud)
WebDav .NET
NetworkCredential credential = new NetworkCredential("user", "password");
string[] bypassList = { "localhost" };
WebProxy proxy = new WebProxy("proxy", true, bypassList, new NetworkCredential("user", "password"));
WebdavSession session = new WebdavSession(credential, proxy);
Resource resource = new Resource(session);
try
{
resource.Upload("http://sharepoint/testBlankSite/testLibrary/TestUpload.txt", @"...\Desktop\TestUpload.txt");
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么这不起作用,我怎么能解决这个问题?
小智 1
这是 SharePoint 中非常常见的问题。查看这些链接:
SharePoint、WebDAV 和 405 状态代码案例
SharePoint 2013 - 禁用 SharePoint 上的 WebDAV 使用
正如 @GavinB 和 @Jeremy 提到的,替代方案是客户端对象模型,即Microsoft.SharePoint.Client。这个库只是一个包装器,它执行的 HTTP 请求与您正在尝试的请求类似。