我有一个使用clickonce部署的WCF应用程序。 它使用HTTPS连接到我的服务器,和一切工作正常如何在部分信任环境中使用我的app.config的system.net部分?
我使用默认的代理需要感谢以下代码时:
<configSections>
<sectionGroup name="system.net" type="System.Net.Configuration.NetSectionGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="defaultProxy" type="System.Net.Configuration.DefaultProxySection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
</sectionGroup>
</configSections>
<system.net>
<defaultProxy useDefaultCredentials="true"/>
</system.net>
在完全信任模式下,一切工作正常现在
,如果我将我的安全设置设置为部分信任,如果没有涉及代理服务器,它可以正常工作,但如果我尝试在公司环境中启动我的软件,代理 不再被自动检测。
从我的理解:
的configSections未在部分信任的环境中了解析,除非requirePermission属性设置,如下所示:
<section requirePermission="false" name="defaultProxy">
设置该属性抛出系统。 Configuration.ConfigurationException,并显示以下错误消息:
Sec已经定义了组名“defaultProxy” 。此 的更新可能只发生在定义它的配置 级别。
的“defaultproxy”部分确实已经在machine.config文件中定义:
<section name="defaultProxy" type="System.Net.Configuration.DefaultProxySection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
然而,这似乎不是一个问题,只要requirePermission未设置。换句话说,它似乎是错误信息而应改为:
节或组名“defaultProxy” 已经与另一个requirePermission设置定义。此 的更新可能只发生在定义它的配置 级别。
已经有人遇到同样的问题?是否可以在部分信任模式下静默使用来自WCF应用程序的默认代理? 我也尝试以编程方式设置代理,都没有成功
System.Net.WebProxy proxy = new WebProxy();
proxy.UseDefaultCredentials = true;
WebRequest.DefaultWebProxy = proxy;
的WsHttpBinding的的useDefaultWebProxy属性是直接从一开始就确定,但似乎并没有工作,无论是在部分或完全信任的环境,没有正确定义的“system.net.defaultProxy”部分:
<binding name="WebBinding" useDefaultWebProxy="true">
我想我可以问我的客户更新其本地的machine.config文件添加所需的defaultProxy useDefaultCredentials =“真”,但它肯定不会缓解部署。