如何在运行时修改 web.config appSettings?

2024-02-15

我对如何在运行时修改 web.config appSettings 值感到困惑。例如,我有这个 appSettings 部分:

<appSettings>
  <add key="productspagedesc" value="TODO: Edit this default message" />
  <add key="servicespagedesc" value="TODO: Edit this default message" />
  <add key="contactspagedesc" value="TODO: Edit this default message" />
  <add key="aboutpagedesc" value="TODO: Edit this default message" />
  <add key="homepagedesc" value="TODO: Edit this default message" />
 </appSettings>

比方说,我想在运行时修改“homepagedesc”键。我尝试了 ConfigurationManager 和 WebConfigurationManager 静态类,但设置是“只读”的。如何在运行时修改 appSettings 值?

更新: 好吧,五年后我又来了。我想指出的是,经验告诉我,我们不应该将任何在运行时可编辑的配置放在 web.config 文件中,而是应该将其放在一个单独的 XML 文件中,正如下面一位用户评论的那样。这不需要对 web.config 文件进行任何编辑来重新启动应用程序,这会导致愤怒的用户给您打电话。


你需要使用WebConfigurationManager.OpenWebConfiguration(): 例如:

Dim myConfiguration As Configuration = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~")
myConfiguration.ConnectionStrings.ConnectionStrings("myDatabaseName").ConnectionString = txtConnectionString.Text
myConfiguration.AppSettings.Settings.Item("myKey").Value = txtmyKey.Text
myConfiguration.Save()

我想你可能还需要设置允许位置 http://msdn.microsoft.com/en-us/library/system.configuration.sectioninformation.allowlocation(VS.80).aspx在机器配置中。这是一个布尔值,指示是否可以使用该元素配置各个页面。如果“allowLocation”为 false,则无法在单个元素中进行配置。

最后,如果您在 IIS 中运行应用程序并从 Visual Studio 运行测试示例,则会有所不同。 ASP.NET 进程标识是 IIS 帐户、ASPNET 或 NETWORK SERVICES(取决于 IIS 版本)。

可能需要授予对 web.config 所在文件夹的 ASPNET 或网络服务修改访问权限。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在运行时修改 web.config appSettings? 的相关文章

  • ASP.NET Core/MVC 6 ViewModel 中的依赖注入 (DI)

    我使用构造函数注入在控制器中成功使用了 ASP NET 5 MVC 6 DI 我现在有一个场景 我希望我的视图模型在实现 IValidatableObject 时在 Validate 方法中使用服务 ViewModel 中的构造函数注入不起
  • 如何从代码中隐藏 div (c#)

    我的页面上有一个 div 元素 我希望根据代码隐藏中的会话值显示 隐藏该元素 我怎样才能做到这一点 给div runat server and an id你可以在你的code behind div 在后面的代码中 theDiv Visibl
  • ASP.NET GridView 项目模板

    好的 我有一个 GridView 并且有一个列 如果文件存在 我希望将其作为链接 否则我只想将其作为标签 现在 我正在使用参数中传递的 Row 更改 RowDataBound 事件处理程序上的控件 我不太喜欢这个 因为我对列 ID 进行了硬
  • ASP.NET 网站“发布”与 Web 部署项目

    如果我决定对 ASP NET 网站使用 发布 选项 而不是 Web 部署项目 我可以执行自定义 msbuild 操作吗 或者 如果我想在编译 部署期间执行自定义 msbuild 操作 我是否需要坚持使用 WDP 我认为发布选项是 VS NE
  • 如何获取 Visual Studio 的“发布”功能以包含生成后事件中的文件?

    我目前正在尝试使用 Visual Studio 2010 发布 和 MSDeploy 功能来处理我的 Web 部署需求 但在根据我的构建配置自定义包方面遇到了障碍 我在 32 位环境中开发 但需要为 64 位环境创建发布包 因此在 发布 配
  • 使用 Lambda 表达式从字段名称中选择不同的字段

    我需要从数据库表中获取两个字段 使用 linq to sql 检索 一个字段是日期时间 并且是固定字段 另一个字段始终是十进制 但该字段可以不同 该表保存的货币数据每天以不同的货币处理两次 因此可能具有 AM USD PM USD AM E
  • 将 TableCell 文本转换为超链接

    我正在将 sql 查询中的数据提取到页面后面的 cs 代码中的 asp 表中 TableCell tCell1 new TableCell tCell1 Text myDataRow tid ToString 我想将其转换为超链接 我怎样才
  • 从另一个项目/dll 引用的 Asp.NET 用户控件具有 NULL 属性

    试图将一个常用的自定义控件移到一个新的类库中 也尝试了一个新的web项目 以便其他项目可以使用它 但是在另一个项目中使用时它的属性始终为NULL 不幸的是 搜索类似的问题并不能帮助解决我的问题 我将 web base config 中的新控
  • “通用”电话号码的基本正则表达式

    我需要一个正则表达式 用于 ASP NET 网站 来验证电话号码 它应该是灵活的 唯一的限制是 应至少为 9 位数字 没有字母 可以包含空格 连字符 单个 我搜索过 SO 和 Regexlib com 但我得到的表达式有更多限制 例如英国电
  • 在android中的webview中运行时更改URL

    我创建了一个小程序 可以在 webview 中加载特定网站 我想密切关注 URL 如果 URL 包含 xxx 单词 那么它应该导航到另一个页面 例如 如果我设置 www example com 我现在可以导航到 www example co
  • Swift 中的运行时错误处理

    我完全知道 Swift 没有 try catch 机制来捕获异常 好吧 Swift 2 0 现在支持它们 我还了解到 许多 API 方法都会返回一个 NSError 如果出现问题 该错误对象将被填充为错误对象 所以请不要向我指出这个问题 S
  • 如何使用 BoundFields 将 FooterTemplate 添加到 GridView

    希望您周末愉快 终于我有了一些编辑 删除事件器来与 LINQ 支持一起工作 我有一个添加记录事件 我知道它正在工作 但是在尝试了一部分之后 我不知道如何在页脚中添加一些文本框 所以它是从页眉到页脚的一行 没有向右或向左移动 有人可以帮助我吗
  • 了解 ASP.NET 应用程序文件夹

    ASP NET 中的应用程序文件夹用于存储对运行网站至关重要的各种元素 我想更深入地了解这些文件夹 特别是文件夹的可访问性 根据有关的文章ASP NET 网站布局 http msdn microsoft com en us library
  • index.g.cshtml 在哪里

    我正在尝试完成本教程 但是 通常 当我构建解决方案时 我会得到一个CS0234错误指出文件中缺少命名空间Index g cshtml cd 但是这个文件存在于哪里呢 我努力了 所有构建 清理 重建解决方案选项 我已重新启动 Visual S
  • asp.net mvc 它能处理所有请求吗? - iis 7集成模式

    我有一个使用 asp net mvc 构建的网站 在 IIS 7 上使用集成模式运行 我注意到 当我输入 mysite com test html 时 我得到了 The IControllerFactory did not return a
  • Microsoft.Extensions.Caching.Redis 选择与 db0 不同的数据库

    一个关于了解使用哪个redis数据库以及如何配置它的问题 我有一个默认值ASP NET Core Web 应用程序和默认配置的本地redis服务器 含15个数据库 通过包管理控制台我已经安装了 Install Package Microso
  • SQL参数化查询不显示结果

    我的 DataAcess 类中有以下函数 但它没有显示任何结果 我的代码如下 public List
  • 表单身份验证 web.config 设置

    根 web config 文件中的此规范是否正确 我没有在受保护的文件夹中使用子 web config
  • 不支持 EF6 上下文类型“System.Data.Entity.Core.Objects.ObjectContext”

    我有一个使用 Visual Studio 2013 和 ADO NET 实体数据模型 EF6 创建的新项目 现在我必须使用一些动态数据函数 例如访问 MetaTable 对象 所以我添加以下代码 MetaModel model new Me
  • 如何强制 Visual Studio 2008 生成 Designer.cs,例如不管怎样.aspx.designer.cs

    我在使用 Visual Studio 2005 使用网站技术生成的 Asp Net V2 0 中有一些 Web 表单 想要将它们导入到设置为 v3 5 Asp Net MVC 的 Visual Studio 2008 我在其中使用项目技术

随机推荐

  • IOS:NSString 从字符串中检索子字符串

    嘿 我正在寻找一种从另一个字符串中提取字符串的方法 它可以是任何长度并且位于字符串的任何部分 因此通常的方法不起作用 例如 我要提取的是从 id 到下一个 有任何想法吗 使用 rangeOfString 方法 NSRange range s
  • 使用显式实例化设置类模板的方法

    问完后这个问题 https stackoverflow com questions 3526299 c templates declare in h define in hpp并阅读了大量有关模板的内容 我想知道以下类模板设置是否有意义 我
  • 将多个内核缓冲区映射到连续的用户空间缓冲区?

    我已经使用分配了多个内核可访问的缓冲区dma alloc coherent 每个大小为 4MiB 目标是将这些缓冲区映射到连续的用户空间虚拟内存中 问题是remap pfn range似乎不起作用 因为用户空间内存有时工作 有时不工作 或者
  • 卸载仍有实例的 kext

    我正在更新其中一台设备的驱动程序 并希望 kextunload 旧驱动程序并 kextload 新驱动程序 这样就不再需要重新启动 安装后我尝试 sudo kextunload System Library Extensions Drive
  • Drupal 7 Forms API - AJAX Forms 错误:检测到非法选择。请联系网站管理员

    我设置了一个表单 用户可以从下拉列表中选择一个项目 一旦选择该项目 就会填充另一个下拉列表 然后 根据从第二个下拉列表中选择的值 可能会或可能不会显示字段集 如果显示字段集 则有一个字段和一个按钮 通过单击该按钮 您可以添加同一字段的另一个
  • 如何使用 String ReplaceAll 在出现某些字符时不进行替换

    我需要替换文本中的一些单词 但我需要在替换策略中添加条件 如下所示 我想更换word1 with word2 String word1 word1 String word2 word2 但我不想更换word1如果它前面是word3这是 St
  • ${authAdminUrl} 从哪里来以及如何操作它?

    我正在尝试设置一个 dockerized keycloak 实例 但成功登录后 其 安全管理控制台 不断将我重定向到内部 URL 而不是我在 dns 中设置的 URL 查看设置 其根 URL 设置为 authAdminUrl 我可以用实际的
  • List 或 ArrayList 有什么用

    我想知道有什么用List
  • 将 const char* 返回到 char*,然后更改数据

    我对以下代码感到困惑 string str SDFDFSD char pStr char str data for int i 0 i lt iSize i pStr i tolower pStr i here str data 回报con
  • ZeroMQ 多线程:按需创建套接字还是使用套接字对象池?

    我正在利用 ZeroMQ N to N 发布 订阅模型构建一个 POC 在我们的应用服务器中 当处理 http 请求时 如果线程从数据库中提取数据 它就会使用该数据更新本地 memcache 实例 为了同步应用程序服务器集群中的其他 mem
  • Haskell N 叉树遍历

    我对 Haskell 还很陌生 我正在尝试找出如何遍历 n 叉树 作为输出 我希望获得叶值列表 因为分支没有值 因此对于 testtree 这将是 4 5 到目前为止我的定义是 data Tree a Leaf a Branch Tree
  • 替换 Fragment 时出现 IllegalStateException

    它是使用兼容性包的小型 Android 2 2 测试应用程序 这是我在收到点击时尝试替换片段的 当然是错误的 方法 我试图用同一 Fragment 类的新 不同 实例替换它 正如我将解释的那样 它无法按预期工作 我需要帮助 public c
  • 两个类里面的代码几乎重复

    此时此刻 我有两节课 UserHibernateDao and TicketHibernateDao import java util List import org springframework orm hibernate3 suppo
  • 如何转义 SQLite FTS 查询的字符串

    我正在尝试使用不受信任的用户输入执行 SQLite FTS 查询 我不想让用户访问查询语法 也就是说他们将无法执行类似的匹配查询foo OR bar AND cats 如果他们尝试使用该字符串进行查询 我想将其解释为更像是foo OR ba
  • Android 网络提供商,需要互联网吗?

    我正在使用网络提供商进行位置更新 我的手机需要联网吗 这是我的代码 LocationMngr LocationManager getSystemService Context LOCATION SERVICE LocationMngr re
  • 使用 pojo 自动完成 primefaces

    我读过一些关于同一组件的质量检查 但我觉得我错过了一些东西 因为我落后了一步 当我使用 primefaces 自动完成组件时 我什至无法打开页面 它的片段是
  • JavaScript 中的 Splat 运算符相当于 Python 中的 *args 和 **kwargs?

    我经常使用 Python 而且我现在正在快速学习 JavaScript 或者我应该说重新学习 所以我想问一下 相当于什么 args and kwargs在 JavaScript 中 ES6 在 JavaScript 中添加了扩展运算符 fu
  • 如何从 CMake 命令行更改 C++ 标准?

    目前我有一个需要 C 17 的项目 因此在CMakeLists txt我很早就有这条线 set CMAKE CXX STANDARD 17 从命令行 cmake 偶尔我想测试该项目是否也可以使用 C 20 进行编译 以避免意外 如何选择从命
  • 我的应用或其依赖项是否违反了 Android 广告 ID 政策?

    我刚刚收到来自 Google Play 的这条消息 但我没有收集广告 ID 警告原因 违反Android广告ID使用 政策和开发者分发协议第 4 8 条 Google Play 要求开发者在以下情况下提供有效的隐私政策 应用程序请求或处理敏
  • 如何在运行时修改 web.config appSettings?

    我对如何在运行时修改 web config appSettings 值感到困惑 例如 我有这个 appSettings 部分