网络编辑.Config - "System.Net"部分编程
本文关键字:quot 编程 Net System Config 网络 编辑 | 更新日期: 2023-09-27 18:01:21
我想更改web.config中的"system.net"部分。我想根据运行时的变量添加或删除defaultProxy标签。
<defaultProxy enabled="true" useDefaultCredentials="false">
<module type = "XXX.Utils.YYProxy, XXX" />
</defaultProxy>
我知道,网上有相关的帖子编辑。但它们都与ConnectionStringsSection
或AppSettingsSection
有关。System中有关于它们的特定类。配置包,但我没有找到任何与"system.net"相关的类。
我找到了一个方法。我使用以下代码启用或禁用defaultProxy标签:
Configuration config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
NetSectionGroup netSection = (NetSectionGroup)config.GetSectionGroup("system.net");
if (string.IsNullOrEmpty(model.ProxyUrl))
netSection.DefaultProxy.Enabled = false;
else
netSection.DefaultProxy.Enabled = true;
关键是将SectionGroup转换为NetSectionGroup类。
而不是从web中删除defaultProxy元素。我建议,在你的代码中,根据分配给你所引用的变量的值来覆盖所使用的代理。
例如:WebRequest request = WebRequest.Create("http://stackoverflow.com/");
if(variable == "some expected value to override default proxy") {
//by setting the Proxy property of the Request object to a new WebProxy class, you override the default
request.Proxy = new WebProxy("http://someproxyserver.com:80", true);
}
当然,我需要看到更多你的代码来给出一个更完整的答案。
希望这对你有帮助!