我在企业环境中创建ASP.NET Web应用程序,该环境使用.pac文件自动配置WebProxy。我可以通过IE访问外部网站,并且通过控制台运行我的应用程序时也没有问题,但是通过IIS运行时它无法正常工作。
根据我的研究,我发现代理设置是基于每个用户的,所以我认为控制台应用程序正在运行,因为它使用我的域用户代理设置,并且IIS Web应用程序失败因为它使用的是未配置的LocalSystem代理设置。
我有什么选择让这个应用程序在IIS中运行?
1)我无法在这些计算机上编辑注册表,因此我无法将用户代理设置复制到LocalSystem代理设置中。有没有其他方法可以复制那些不涉及编辑注册表的设置?
2)我尝试启用模拟,试图让IIS使用域用户的代理设置,但这似乎不起作用。默认的WebRequest.DefaultWebProxy和我的WebRequests仍然出现错误的代理。无论如何,如果可以避免,我不想打开模仿。
还有其他想法吗?
答案 0 :(得分:1)
如果使用自动代理检测不起作用,您可以在web.config中提供代理配置,例如:
<system.net>
<defaultProxy useDefaultCredentials="true">
<proxy usesystemdefault="false" scriptLocation="http://<your_proxy_server>/<pac_file>.pac"/>
</defaultProxy>
</system.net>