正如标题所暗示的,我使用 WestWind.globalisation 作为数据库资源提供者来支持多种语言。
问题是,它自己的资源提供者似乎不愿意反映我在应用程序中所做的更改。
一个例子:
我有一个元素:
<asp:Image runat="server" ID="img_placeholder" ImageUrl="~/images/BigPicture.jpg" />
我已将以下数据插入到本地化表中:
pk ResourceId Value LocaleId ResourceSet
--------------------------------------------------------------------------------
391 ImgBigPicture.ImageUrl ~/images/BigPicture-en-US.jpg en-US Site.master
392 ImgBigPicture.ImageUrl ~/images/BigPicture.jpg Site.master
393 ImgBigPicture.ImageUrl ~/images/BigPicture-fr-FR.jpg fr-FR Site.master
在此之后,我将标记更改为:
<asp:Image runat="server" ID="img_placeholder" ImageUrl="~/images/BigPicture.jpg" meta:resourceKey="ImgBigPicture"/>
当我刷新应用程序或重建它时,更改不会显示在浏览器中。图片网址保持不变。在任何给定元素上都可以观察到相同的情况,无论是 anasp:Label
还是 an asp:Button
。
有时重启 IIS 就足够了;有时重启 Visual Studio 和 Chrome 就足以使更改生效。大多数情况下,我需要重新启动服务器,以便所有内容都以其当前和实际状态显示。当它发生时,我可以切换我的 UIculture 并且属性会相应更改。
我不知道发生了什么,单步执行代码并没有向我透露任何信息。
我愿意接受有关如何应对此问题的任何建议和解决方案。