2

我在使用 .net 2.0 和 IIS 6 的站点时遇到了一些奇怪的问题。该站点使用 resx 文件,因此它已本地化为多种语言。在其中一些文件中,我们对 resx 进行了更改并重新编译,这些更改不会显示在站点上。曾经。这种情况主要发生在一种语言(阿拉伯语)中,但偶尔也会出现其他语言。

我的第一个想法是这些更改不足以让 Visual Studio 构建它们,但在发布后我可以验证新 resx 文件中的更改。我也可以在服务器上物理确认 resx 中的更改,然后打开网页并且更改未显示。我认为可能有一个服务器正在缓存它,但它与多个互联网连接相同。

我已经尝试过的

  • 我已经重新启动了 IIS,包括单个站点和整个服务。
  • 我已经重新启动了服务器。
  • 我已经回收了应用程序池。
  • 我已经清除了 .net 文件夹中的所有临时文件。
  • 我已将标头插入站点并将其设置为无缓存并验证它
  • 我已插入元标记以指示无缓存
  • 我已删除 resx,访问该站点并收到错误,然后重新上传。
  • 我已经彻底改变了 resx 文件的大小,希望它会触发一些东西。
  • 我已经彻底改变了该字段中的文本数量,但没有一个显示出来。
  • 我已经三重检查了我在 resx 中要求正确的字段。
  • 我已经验证我的虚拟主机没有使用任何缓存服务。

出于某种原因,这些变化并没有发生。任何想法和帮助将不胜感激,这个让我和其他知识渊博的人完全难倒。

4

1 回答 1

4
  1. 仔细检查更改文件和临时文件的安全权限。如果 Web 服务器的帐户无法读取它们,那么您的更改将不会显示。

  2. 确保您有“中性”文化资源的条目。如果您的主 resx 文件中没有条目,则编译器将不会发出代码来翻译该特定标签/按钮等。

  3. 强制网站重新编译也是一个好主意(但你有那个)。有时我在资源文件更改后所做的就是打开 aspx 页面并在末尾添加一个空格,保存并关闭。瞧,它将被重新编译。

于 2010-02-24T16:17:33.687 回答