3

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

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

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

4

4 回答 4

0

我认为您所做的是创建一个System.Net.WebProxy对象,然后设置适当的变量,然后设置System.Net.WebRequest.DefaultWebProxy

System.Net.WebProxy proxy = new WebProxy();
proxy.UseDefaultCredentials = true;
WebRequest.DefaultWebProxy = proxy;

这篇文章有点谈论整个事情:链接

希望有帮助!

于 2008-11-18T18:15:36.273 回答
0

在项目的属性页面上应该有一个设置选项卡。您放在那里的任何内容实际上都存在于项目的 *.settings 文件中,但也会在部署时自动包含在 app.config 文件中。你可以在那里进行更改吗?

于 2008-11-18T18:22:35.010 回答
0

我想您正在使用从 WSHttpBindingBase 继承的绑定。如果是这样,您也可以尝试在代码中设置“UseDefaultWebProxy”属性。像这样的东西:

myWSHttpBinding.UseDefaultWebProxy = True;

编辑: BasicHttpBinding 也具有相同的属性。

于 2008-11-22T06:41:29.743 回答
-2

无论您的可执行文件(不是库 dll)程序集的定义名称是什么,请在末尾添加一个“.config”...

所以如果你的可执行文件是

AcmeWidgets.EastCoast.MyApplicationName.exe

然后 app.config 将重命名为

AcmeWidgets.EastCoast.MyApplicationName.exe.config

但是,我不建议您尝试在运行时动态更改这些设置(在磁盘上的配置文件中)...

相反,您是否可以对您的应用程序进行编码,以便它从这些配置设置中填充和使用静态变量......然后实现动态“更改值”功能,以便它更改这些静态变量......

这样您仍然可以动态“影响”运行时行为,但避免了写入配置文件的麻烦,并且 Ops 管理可以通过编辑配置文件中的“默认”值来管理它......

于 2008-11-18T18:14:18.020 回答