在.NET中,我的app.config设置的运行时等效是什么?

时间:2008-11-18 17:56:03

标签: .net wcf proxy

如果我的app.config文件中有以下设置。这是我需要确保我的WCF客户端可以协商默认代理服务器的设置。

<system.net>
    <defaultProxy enabled="true" useDefaultCredentials="true"></defaultProxy>
</system.net>

不幸的是,我无法在我的环境中添加到app.config文件。如何通过在运行时设置这些设置来确保这些设置?

4 个答案:

答案 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管理可以通过编辑来管理配置文件中的“默认”值......