asp.net-mvc – 在不更新的其他.config文件上的AppSettings
我试图做最近
previous question上提到的完全相同的事情.实质上,这是情况(这是完全相同的情况):
问题是该问题中接受的解决方案对我不起作用,因为当我发出config.Save(ConfigurationSaveMode.Minimal,false)命令时,它不是将appSettings保存在单独的.config文件中,而是复制所有appSettings将单独的文件放入主web.config文件的appSettings部分(使用新的更改).这是我的最终代码(在vb.net中): Public Shared Function GetAppSetting(ByVal setting As String) As String Dim config As System.Configuration.Configuration = _ WebConfigurationManager.OpenWebConfiguration("~") Return config.AppSettings.Settings(setting).Value End Function Public Shared Sub SetAppSetting(ByVal setting As String,ByVal value As String) Dim config As System.Configuration.Configuration = _ WebConfigurationManager.OpenWebConfiguration("~") config.AppSettings.Settings(setting).Value = value config.Save(ConfigurationSaveMode.Minimal,False) ConfigurationManager.RefreshSection("appSettings") End Sub 基本上我无法看到我在哪里表示我希望将设置保存在单独的文件而不是web.config上,默认情况下它们存储在web.config中.哦,顺便说一句,我必须在web.config的appSettings部分添加’file =’属性,以便实际考虑Settings.config appSettings.如果没有该属性,上面的代码不会读取单独的.config文件设置.这是我的web.config appSettings部分的快照: <appSettings file="Settings.config"> <add key="RestartApp" value="-1" /> </appSettings> 这是我的Settings.config文件的全部内容: <appSettings> <add key="AppTitle" value="MVC Web Access" /> <add key="DefaultWebpage" /> <add key="CustomCSS" /> <add key="TktsEmailTo" value="email@email.com" /> <add key="EmailFrom" value="email@email.com" /> <add key="EmailFromSMTP" value="mail.email.com" /> <add key="EmailFromPW" value="fakePassword" /> </appSettings> 因此,在.save命令之后,我的Settings.config文件中的修改设置不会结束,而是web.config文件中的appSettings部分会像这样结束(并且Settings.config文件保持不变): <appSettings file="Settings.config"> <add key="RestartApp" value="-1" /> <add key="AppTitle" value="New title" /> <add key="DefaultWebpage" value="index.aspx" /> <add key="CustomCSS" /> <add key="TktsEmailTo" value="newemail@email.com" /> <add key="EmailFrom" value="newemail@email.com" /> <add key="EmailFromSMTP" value="mail.email.com" /> <add key="EmailFromPW" value="NewFakePassword" /> </appSettings> 解决方法
只是仔细检查 – 我能看到的唯一区别是我正在使用
<appSettings configSource="Settings.config"/> 这是我现在使用的代码,它正在工作并将设置保存到我的单独设置文件(Settings.config): var config = WebConfigurationManager.OpenWebConfiguration("~"); foreach (var key in collection.Keys) { if (config.AppSettings.Settings[key.ToString()] != null) { config.AppSettings.Settings[key.ToString()].Value = collection[key.ToString()]; } } config.Save(ConfigurationSaveMode.Minimal,false); ConfigurationManager.RefreshSection("appSettings"); 如果您在appSettings键上使用configSource会发生什么? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 在IIS 7.5中返回404的MVC视图
- asp.net-mvc – 不能删除数据库,因为它目前正在使用MVC
- asp.net Web应用程序中的静态变量
- asp.net – AngularJs ServiceStack应用程序的安全性
- 利用EntLib授权机制实现对ASP.NET页面的自动授权
- asp.net-mvc – 什么使Web应用程序成为触摸板友好的应用程序
- asp.net-mvc – Windows Azure Asp.Net MVC电子商务
- asp.net MVC 3/4相当于一个response.filter
- 有关ASP.NET中会话的要点
- 如何通过GSM调制解调器从ASP.NET应用程序发送SMS