如果我的app.config文件中有以下设置。这是我需要确保我的WCF客户端可以协商默认代理服务器的设置。
<system.net>
<defaultProxy enabled="true" useDefaultCredentials="true"></defaultProxy>
</system.net>
不幸的是,我无法在我的环境中添加到app.config文件。如何通过在运行时设置这些设置来确保这些设置?
答案 0 :(得分:0)
我认为你要做的是创建一个System.Net.WebProxy
对象,然后设置适当的变量,然后设置System.Net.WebRequest.DefaultWebProxy
:
System.Net.WebProxy proxy = new WebProxy();
proxy.UseDefaultCredentials = true;
WebRequest.DefaultWebProxy = proxy;
这篇文章谈论整件事:Link
希望有所帮助!
答案 1 :(得分:0)
在项目的属性页面上应该有一个设置选项卡。你放在那里的任何内容实际上都存在于项目中的* .settings文件中,但也会在部署时自动包含在app.config文件中。你能在那里做出改变吗?
答案 2 :(得分:0)
我想你正在使用一个从WSHttpBindingBase继承的绑定。如果是这样,您还可以尝试在代码中设置“UseDefaultWebProxy”属性。像这样:
myWSHttpBinding.UseDefaultWebProxy = True;
编辑:BasicHttpBinding也具有相同的属性。
答案 3 :(得分:-2)
无论你的可执行文件(不是库dll)的定义名称是什么,最后添加一个“.config”......
所以如果您的可执行文件是
AcmeWidgets.EastCoast.MyApplicationName.exe
然后app.config将重命名为
AcmeWidgets.EastCoast.MyApplicationName.exe.config
但是,我不建议您在运行时尝试动态更改这些设置(在磁盘上的配置文件中)...
相反,你可以编写你的应用程序,以便它来填充和使用这些配置设置中的静态变量...然后实现动态“更改值”功能,以便它更改这些静态变量......
这样你仍然可以动态地“影响”运行时行为,但是避免了编写配置文件的麻烦,并且Ops管理可以通过编辑来管理配置文件中的“默认”值......