在IIS LocalSystem标识上运行时,自动代理配置失败

时间:2016-04-05 20:27:44

标签: c# asp.net .net iis proxy

我在企业环境中创建ASP.NET Web应用程序,该环境使用.pac文件自动配置WebProxy。我可以通过IE访问外部网站,并且通过控制台运行我的应用程序时也没有问题,但是通过IIS运行时它无法正常工作。

根据我的研究,我发现代理设置是基于每个用户的,所以我认为控制台应用程序正在运行,因为它使用我的域用户代理设置,并且IIS Web应用程序失败因为它使用的是未配置的LocalSystem代理设置。

我有什么选择让这个应用程序在IIS中运行?

1)我无法在这些计算机上编辑注册表,因此我无法将用户代理设置复制到LocalSystem代理设置中。有没有其他方法可以复制那些不涉及编辑注册表的设置?

2)我尝试启用模拟,试图让IIS使用域用户的代理设置,但这似乎不起作用。默认的WebRequest.DefaultWebProxy和我的WebRequests仍然出现错误的代理。无论如何,如果可以避免,我不想打开模仿。

还有其他想法吗?

1 个答案:

答案 0 :(得分:1)

如果使用自动代理检测不起作用,您可以在web.config中提供代理配置,例如:

<system.net>
  <defaultProxy useDefaultCredentials="true">
    <proxy usesystemdefault="false" scriptLocation="http://<your_proxy_server>/<pac_file>.pac"/>
  </defaultProxy>
</system.net>