如何将代理凭据传递给SharePoint客户端上下文对象...?(SharePoint客户端对象模型)

Sam*_*mbo 7 sharepoint sharepoint-2010

我正在编写一个使用客户端对象模型访问SharePoint网站的应用程序,并且我在代理服务器后面。

我打电话...

ClientContext.ExecuteQuery()
Run Code Online (Sandbox Code Playgroud)

并收到以下错误消息...

远程服务器返回错误:(407)需要代理身份验证。

如何将代理凭据传递给客户端上下文对象...?

Kar*_*hik 5

您需要将 WebProxy (System.Net.WebProxy) 对象传递给执行查询的 WebRequest 实例。这样做的一种方法是

ClientContext context = new ClientContext("<a valid url>");
context.ExecutingWebRequest += (sen, args) =>
{
  WebProxy myProxy = new WebProxy();
  myProxy.Address = new Uri("http://<proxy_server_address>");

  myProxy.Credentials = new System.Net.NetworkCredential("jack_reacher","<password>", "<domain>");
  args.WebRequestExecutor.WebRequest.Proxy = myProxy;
};
context.ExecuteQuery();
Run Code Online (Sandbox Code Playgroud)

编辑:修正错字(ags --> args)


Kit*_*nke 4

我认为您在节点内的 app.config 中需要以下内容<configuration>

  <system.net>
    <defaultProxy useDefaultCredentials="true" >
    </defaultProxy>
  </system.net>
Run Code Online (Sandbox Code Playgroud)