I\'m writing an application that accesses a SharePoint site using the Client Object Model and I\'m behind a proxy server.
I call...
ClientContext.Execute
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>