【发布时间】:2012-10-17 12:50:23
【问题描述】:
我为多个客户部署了一个网站。
出于安全原因,部署是从目标服务器启动的。部署包括将文件复制到dev->prod。
对于每个目标站点,我都有一个特定的资源文件,并在部署时将文件从 xxx.resx 重命名为 Resource.resx。这工作正常,但我想知道是否可以从 web.config 定义要使用的资源文件?
【问题讨论】:
标签: c# asp.net deployment
我为多个客户部署了一个网站。
出于安全原因,部署是从目标服务器启动的。部署包括将文件复制到dev->prod。
对于每个目标站点,我都有一个特定的资源文件,并在部署时将文件从 xxx.resx 重命名为 Resource.resx。这工作正常,但我想知道是否可以从 web.config 定义要使用的资源文件?
【问题讨论】:
标签: c# asp.net deployment
有可能。
您可以在 web.config 中创建一个变量,您可以在其中输入要使用的 resx 的名称。 假设 resx 文件位于 App_GlobalResources 中,它应该要求您使用 GetGlobalResourceObject(string, string) 访问资源对象。
如果您想要智能感知,那么您必须确保所有 .resx 文件具有完全相同的密钥(因为密钥将被编译),然后继续重命名。例如在 Global.asax 的 Application_Start 事件中,每当应用程序启动/重新启动时都会触发该事件。
不管怎样,看看这个关于 web.config 变量的信息:http://forums.asp.net/t/1386667.aspx/1
【讨论】:
SetGlobalResource 一样。否则我将不得不更改大量现有页面。