C# 通过WebClient连接到Sharepoint服务器

C# 通过WebClient连接到Sharepoint服务器,c#,.net,web,sharepoint,client,C#,.net,Web,Sharepoint,Client,我继承了一个大型.NET服务器应用程序,其中包含应该连接到Sharepoint服务器的代码。我知道这段代码在最初的开发人员编写时有效,并且在客户的生产机器上仍然有效,但在我的工作站上运行以进行开发时,由于身份验证错误(“登录名或密码与Microsoft帐户系统中的不匹配”)而失败 Sharepoint代码使用WebClient。相关线路如下: var client = new WebClient(); client.Headers.Add("X-FORMS_BASED_AUTH_ACC

我继承了一个大型.NET服务器应用程序,其中包含应该连接到Sharepoint服务器的代码。我知道这段代码在最初的开发人员编写时有效,并且在客户的生产机器上仍然有效,但在我的工作站上运行以进行开发时,由于身份验证错误(“登录名或密码与Microsoft帐户系统中的不匹配”)而失败

Sharepoint代码使用WebClient。相关线路如下:

var client = new WebClient();
client.Headers.Add("X-FORMS_BASED_AUTH_ACCEPTED", "f");
client.Credentials = GetSharePointCredentials();
函数“GetSharePointCredentials”返回由用户名和密码构造的ICredentials实例。我知道用户名和密码是正确的,因为我可以在web浏览器中访问Sharepoint网站并使用它们登录

我尝试说client.UseDefaultCredentials=true,但我并不认为它会起作用,因为我的工作站没有登录到与Sharepoint服务器关联的任何Windows域

我注意到,当我以这种方式登录时,Sharepoint web应用程序会进行双因素身份验证(它会向我有权访问的帐户的电话号码发送一条文本消息),我怀疑这可能是问题的一部分,虽然我认为基于X-FORMS的AUTH-ACCEPTED头应该允许它在没有电话号码验证的情况下工作

不幸的是,我不是Sharepoint实例或域的管理员,因此我无法直接查看或更改它们的配置,尽管必要时我可以请求他人帮助

谢谢,
Frank

发现我的代码很好,但我的IP地址被防火墙规则阻止了