How do I pass my proxy credentials to a SharePoint Client Context object...? (SharePoint Client Object Model)
I'm writing an applicati开发者_如何学Goon that accesses a SharePoint site using the Client Object Model and I'm behind a proxy server.
I call...
ClientContext.ExecuteQuery()
and receive the following error message...
The remote server returned an error: (407) Proxy Authentication Required.
How do I pass my proxy credentials to the Client Context object...?
You will need to pass the WebProxy (System.Net.WebProxy) object to the WebRequest instance executing your query. One way of doing this is
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();
Edit: Fixed typo (ags --> args)
I think you need the following in your app.config inside the <configuration>
node:
<system.net>
<defaultProxy useDefaultCredentials="true" >
</defaultProxy>
</system.net>
Try this in your app.config if your proxy server doesn't require authentication:
<system.net>
<defaultProxy>
<proxy
usesystemdefault="False"
proxyaddress="http://myproxyserver.company.com:8080"
bypassonlocal="True"
/>
</defaultProxy>
</system.net>
精彩评论