<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'><div dir='ltr'>
Hi Oscar,<br><br><font style="" face="Arial">thanks for your detailed explanation.</font><font style="" face="Arial"><br></font><font style="" face="Arial"><br></font><font style="" face="Arial">To further clear things up, I have always used the button "Apply System-Wide" in all of my tests. The necessary environment variables should therefore be available system wide.<br><br><br>Best regards,<br>Martin<br><br><br><br></font><div>&gt; From: oskar.berggren@gmail.com<br>&gt; Date: Wed, 9 Nov 2011 12:38:20 +0100<br>&gt; Subject: Re: [Mono-dev] Environment.GetEnvironmentVariable() not working in Linux ASP.NET app<br>&gt; To: test051102@hotmail.com<br>&gt; CC: mono-devel-list@lists.ximian.com<br>&gt; <br>&gt; 2011/11/9 H . &lt;test051102@hotmail.com&gt;:<br>&gt; &gt; Hi Robert,<br>&gt; &gt;<br>&gt; &gt; I didn't know that Linux hides certain environment variables from a process<br>&gt; &gt; depending on the identity it is running in. I guess that the only choice for<br>&gt; <br>&gt; It doesn't, not as such. Environment variables are inherently per<br>&gt; process, and this is the same in Windows. When a process is launched<br>&gt; it generally inherits the environment variables from its parent, with<br>&gt; any requested modifications.<br>&gt; <br>&gt; Then it boils down to how are environment variables configured<br>&gt; administratively for a particular system? The concept of system-wide<br>&gt; and per-user environment variables is an abstraction built on the<br>&gt; above facility, and there is no fundamental requirement for that (e.g.<br>&gt; it would be possibly to build a system where they are set and applied<br>&gt; per executable name, or something entirely different).<br>&gt; <br>&gt; In Windows there is a control panel app to set them per user or<br>&gt; system-wide. In Linux each distro may have different methods, but<br>&gt; basically any "system-wide" environment settings will be stored in<br>&gt; e.g. /etc/environment, and it then becomes the responsibility of a few<br>&gt; "core" processes to read and apply these settings to themselves during<br>&gt; e.g. login. "Regular" applications launched by the user will then<br>&gt; inherit them.<br>&gt; <br>&gt; Concerning proxy settings with Ubuntu 10.04 as example: These are in<br>&gt; System-&gt;Preferences-&gt;Network Proxy. These are by default per user<br>&gt; (since it's under Preferences, not Administration). However, the<br>&gt; button "Apply System-Wide" is provided. Clicking that then gives me:<br>&gt; <br>&gt; oskar$ cat /etc/environment<br>&gt; PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"<br>&gt; LANG="en_US.UTF-8"<br>&gt; http_proxy="http://ff:8080/"<br>&gt; <br>&gt; <br>&gt; oskar$ sudo su - www-data<br>&gt; www-data$ printenv|grep -i prox<br>&gt; http_proxy=http://ff:8080/<br>&gt; <br>&gt; <br>&gt; Notice how the proxy is applied also for the www-data user. However,<br>&gt; to make the web server see the change it would have to be restarted.<br>&gt; Possibly a reboot is the easiest way to ensure they are re-read.<br>&gt; <br>&gt; <br>&gt; /Oskar<br>&gt; <br>&gt; <br>&gt; <br>&gt; &gt; platform indepent ASP.NET apps is then to configure proxy settings via<br>&gt; &gt; web.config. Alternatively, it is possible to set the WebClient object's<br>&gt; &gt; Proxy property to null in case no proxies should be used. This is most<br>&gt; &gt; likely valid in intranet environments. The current Mono/master supports both<br>&gt; &gt; of these methods.<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; Best regards,<br>&gt; &gt; Martin<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;&gt; To: mono-devel-list@lists.ximian.com<br>&gt; &gt;&gt; From: robertj@gmx.net<br>&gt; &gt;&gt; Date: Sat, 5 Nov 2011 11:47:51 +0100<br>&gt; &gt;&gt; Subject: Re: [Mono-dev] Environment.GetEnvironmentVariable() not working<br>&gt; &gt;&gt; in Linux ASP.NET app<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; Hi Martin,<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; On 05.11.2011 09:48, H . wrote:<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt; Hi Robert,<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt; I am using XSP2&amp; MonoDevelop to debug.<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; You have to restart your user session if you've changed<br>&gt; &gt;&gt; the proxy settings. Being environment-based, these settings<br>&gt; &gt;&gt; won't propagate to running processes.<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt; Based on the answers I think that it might be a Linux related issue.<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt; I have implemented extensive proxy support for WebClient and it's<br>&gt; &gt;&gt; &gt; underlying classes in Mono/master. This code is based on the no_proxy<br>&gt; &gt;&gt; &gt; environment variable in Linux. The question is, how can we obtain the<br>&gt; &gt;&gt; &gt; list of proxies to bypass in Linux? Is there a consistend way to do<br>&gt; &gt;&gt; &gt; this for standard Linux apps AND Linux ASP.NET apps?<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; There is no standard regarding proxy configuration besides<br>&gt; &gt;&gt; those two environment variables "http_proxy" and "no_proxy".<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; Tools that make use of proxies (wget, curl, browsers) may<br>&gt; &gt;&gt; have other proprietary configurations, but at the and they<br>&gt; &gt;&gt; all support these environment variables.<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; Robert<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt; Best regards, Martin<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt;&gt; To: mono-devel-list@lists.ximian.com From: robertj@gmx.net Date:<br>&gt; &gt;&gt; &gt;&gt; Thu, 3 Nov 2011 15:47:37 +0100 Subject: Re: [Mono-dev]<br>&gt; &gt;&gt; &gt;&gt; Environment.GetEnvironmentVariable() not working in Linux ASP.NET<br>&gt; &gt;&gt; &gt;&gt; app<br>&gt; &gt;&gt; &gt;&gt;<br>&gt; &gt;&gt; &gt;&gt; On 03.11.2011 14:12, H . wrote:<br>&gt; &gt;&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt; &gt;&gt;&gt; Hi Robert,<br>&gt; &gt;&gt; &gt;&gt;<br>&gt; &gt;&gt; &gt;&gt;&gt; thanks for your hints.<br>&gt; &gt;&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt; &gt;&gt;&gt; The link sent describes how environment variables can be set up<br>&gt; &gt;&gt; &gt;&gt;&gt; in Ubuntu. Of course, nobody would try to manually set up<br>&gt; &gt;&gt; &gt;&gt;&gt; environment variables when trying to configure proxies. This is<br>&gt; &gt;&gt; &gt;&gt;&gt; done by using System&gt;Settings&gt;Network Proxy. After that, Ubuntu<br>&gt; &gt;&gt; &gt;&gt;&gt; sets up the necessary environment variables. In case of the<br>&gt; &gt;&gt; &gt;&gt;&gt; no_proxy environment variable this can be tested by issuing "echo<br>&gt; &gt;&gt; &gt;&gt;&gt; $no_proxy" on the command line.<br>&gt; &gt;&gt; &gt;&gt;<br>&gt; &gt;&gt; &gt;&gt; Yes, you may see it on *your* own command line, as a normal user,<br>&gt; &gt;&gt; &gt;&gt; but the web server (you didn't specify which one, so we can't<br>&gt; &gt;&gt; &gt;&gt; help) may have its own environment default settings.<br>&gt; &gt;&gt; &gt;&gt;<br>&gt; &gt;&gt; &gt;&gt; A common way to solve that (if Ubuntu's config tools don't provide<br>&gt; &gt;&gt; &gt;&gt; a facility to set either global or web server specific vars) is to<br>&gt; &gt;&gt; &gt;&gt; set this env var globally and manually.<br>&gt; &gt;&gt; &gt;&gt;<br>&gt; &gt;&gt; &gt;&gt; Robert<br>&gt; &gt;&gt; &gt;&gt;<br>&gt; &gt;&gt; &gt;&gt; _______________________________________________ Mono-devel-list<br>&gt; &gt;&gt; &gt;&gt; mailing list Mono-devel-list@lists.ximian.com<br>&gt; &gt;&gt; &gt;&gt; http://lists.ximian.com/mailman/listinfo/mono-devel-list<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt; _______________________________________________ Mono-devel-list<br>&gt; &gt;&gt; &gt; mailing list Mono-devel-list@lists.ximian.com<br>&gt; &gt;&gt; &gt; http://lists.ximian.com/mailman/listinfo/mono-devel-list<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; _______________________________________________<br>&gt; &gt;&gt; Mono-devel-list mailing list<br>&gt; &gt;&gt; Mono-devel-list@lists.ximian.com<br>&gt; &gt;&gt; http://lists.ximian.com/mailman/listinfo/mono-devel-list<br>&gt; &gt;<br>&gt; &gt; _______________________________________________<br>&gt; &gt; Mono-devel-list mailing list<br>&gt; &gt; Mono-devel-list@lists.ximian.com<br>&gt; &gt; http://lists.ximian.com/mailman/listinfo/mono-devel-list<br>&gt; &gt;<br>&gt; &gt;<br></div>                                               </div></body>
</html>