在 WebConfigEditor 中读取和写入应用程序设置的键

发布于 2024-10-20 04:02:57 字数 389 浏览 1 评论 0原文

我的项目包含 web.config 文件和外部 appSettings 文件。我正在制作一个 WebConfig 编辑器,它具有从 web.config 和外部 appSetting 文件中读取 AppSettings 密钥的选项,以将它们显示在网页上。 另外,我允许用户通过单击“删除”按钮来删除任何密钥。 此外,用户还可以通过单击更新按钮来更新任何键的值。或者 他还可以通过单击“添加新密钥”按钮插入新密钥。

我面临的关键问题是,当我尝试添加新密钥时,它会被插入 web.config 文件按预期进行,但同时它将外部 appSettings 文件中存在的所有键添加到 web.config 中(这是突然的行为)。

如何在任何密钥的更新/删除/添加功能上停止将密钥从外部 appSettings 文件迁移到 web.config?

My project contains web.config file and an external appSettings file. I am making a WebConfig Editor that has options to Read AppSettings key from web.config and external appSetting file to display them on webPage.
Also, I am allowing user to delete any key by clicking on Remove button.
Moreover, user can also update any key's value by clicking on update button.Or
he can also insert new key by clicking on Add New Key button.

The key issue I am facing is that whenfever I try to add a new key , it gets inserted into
web.config file as expected , but at the same time it adds all the keys present in external appSettings file into web.config ( which is abrupt behavior).

How to stop this migration of keys from external appSettings file to web.config on any key's update / delete/ add function?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

你列表最软的妹 2024-10-27 04:02:57

要读取,请将外部文件放入根目录下的 Config 文件夹中,然后使用此代码根据从 web.config 或外部文件读取的键名读取键/值。

// get from web.config                                                                            
String myKey = ConfigurationManager.AppSettings.Get("Key1");
String str += "AppSetting value from web.config:" + myKey;
// get from external AppSetting file
myKey = ConfigurationManager.AppSettings.Get("Key2");
String str2 += "AppSetting value from external AppSetting file:" + myKey;                                                            

其中 Key1 位于 web.config 中,Key2

也位于外部配置文件中
使用 foreach 循环查找所有键值

foreach (string key in ConfigurationManager.AppSettings)
{ 
    string value = ConfigurationManager.AppSettings[key];
    Console.WriteLine("Key: {0}, Value: {1}", key, value);
}

For reading, put external file in Config folder under root and then use this code to read key/values based on key name it read from web.config or external file.

// get from web.config                                                                            
String myKey = ConfigurationManager.AppSettings.Get("Key1");
String str += "AppSetting value from web.config:" + myKey;
// get from external AppSetting file
myKey = ConfigurationManager.AppSettings.Get("Key2");
String str2 += "AppSetting value from external AppSetting file:" + myKey;                                                            

where Key1 is in web.config and Key2 in external config file

also
to find al key values use foreach loop

foreach (string key in ConfigurationManager.AppSettings)
{ 
    string value = ConfigurationManager.AppSettings[key];
    Console.WriteLine("Key: {0}, Value: {1}", key, value);
}
聊慰 2024-10-27 04:02:57

在读取密钥时,使用 web.config 文件和外部应用程序设置文件的密钥添加唯一签名。
在网络上仅显示密钥而不是签名,并且当您添加密钥时添加相同的签名(如果为 web.config 添加则添加 web.config 的签名),并且在写入 web.config 时应用签名检查(如果密钥的签名)是外部应用程序设置文件,然后忽略该密钥,否则写入该密钥。

这是简单的解决方案,如果您有任何疑问,请询问

While reading the keys add a unique signature with the keys of web.config file and external app settings file.
on web only show keys not the signature, and when u add keys add the same signature ( if adding for web.config then web.config's Signature ) and when writing to the web.config apply the check for signature if the signature for the key is of external app settings file then ignore the key otherwise write the key.

Its the Simple solution, well if u have any query do ask

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文