改变网络文化.通过编程方式配置
本文关键字:编程 方式 配置 网络 文化 改变 | 更新日期: 2023-09-27 17:50:17
我的配置应用程序从用户那里收集区域性。它在用户做出选择后被捕获。
CultureInfo culture = new CultureInfo(selectedCulture);
现在,我需要更新Web。主应用程序的配置。目前,默认为en-us
:
<system.web>
...
<globalization culture="en-us" responseEncoding="utf-8" />
...
</system.web>
这是我到目前为止所做的,我没有弄清楚的部分用TODO突出显示。
XmlDocument config = new XmlDocument();
config.Load("C:''inetpub''wwwroot''MyProject''web.config");
// TODO - Modify the globalization culture
config.Save("C:''inetpub''wwwroot''MyProject''web.config");
我看到了通过ID抓取元素的方法,但我的全球化没有ID。当我试图给它一个ID时,我得到了The "id" attribute is not allowed.
什么方法将以允许我改变文化的方式操纵全球化元素?我是否需要使用不同的结构来加载文档?
可以使用Xpath查找元素,然后更新数据:
XmlDocument config = new XmlDocument();
config.Load("C:''inetpub''wwwroot''MyProject''web.config");
var node = config.SelectNodes("system.web/globalization")[0];
node.Attributes["culture"].Value = "new value";
config.Save("C:''inetpub''wwwroot''MyProject''web.config");
你需要考虑:如果你修改你的网页。配置ASP。. NET将重新启动应用程序。
您可以在web中设置您的全球化。配置:
<system.web>
...
<globalization culture="auto" responseEncoding="utf-8" />
...
</system.web>
然后,您可以使用@luke-mcgregor所说的Thread.CurrentCulture
来检索用户的文化