我正在编写一个使用客户端对象模型访问SharePoint网站的应用程序,并且我在代理服务器后面。
我打电话......
ClientContext.ExecuteQuery()
并收到以下错误消息...
远程服务器返回错误:(407)需要代理验证。
如何将代理凭据传递给客户端上下文对象...?
答案 0 :(得分:4)
我认为您在<configuration>
节点内的app.config中需要以下内容:
<system.net>
<defaultProxy useDefaultCredentials="true" >
</defaultProxy>
</system.net>
答案 1 :(得分:4)
您需要将WebProxy(System.Net.WebProxy)对象传递给执行查询的WebRequest实例。一种方法是
ClientContext context = new ClientContext("<a valid url>");
context.ExecutingWebRequest += (sen, ags) =>
{
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();
答案 2 :(得分:1)
如果您的代理服务器不需要身份验证,请在app.config中尝试此操作:
<system.net>
<defaultProxy>
<proxy
usesystemdefault="False"
proxyaddress="http://myproxyserver.company.com:8080"
bypassonlocal="True"
/>
</defaultProxy>
</system.net>