GetGlobalResourceObject

GetGlobalResourceObject

我的 Web 应用程序的 App_GlobalResources 中有一个 resx 文件,调用方式为:

Resources.GetResource("ResourceFileName", "Resource")

辅助方法位于单独的类库中以获取资源值:
using System.Resources;
using System.Web;

public static class Resources
{
    public static string GetResource(string resource, string key)
    {
        try
        {
            string resourceValue = (string)HttpContext.GetGlobalResourceObject(resource, key);

            return string.IsNullOrEmpty(resourceValue) ? string.Empty : resourceValue;
        }
        catch (MissingManifestResourceException)
        {
            return string.Empty;
        }
    }
}

如果我按 F5,一切正常。如果我部署到 Web 服务器, 对 GetGlobalResourceObject 的所有 调用都会返回为 null。

资源存在。我怎样才能把它们弄出来?

谢谢,

理查德

最佳答案

我也有同样的问题,是的“GetGlobalResourceObject(...)”在发布后总是返回 null。

因此,我通过使用而不是 'GetGlobalResourceObject("Captions","button_go_text")' 到 'Resources.Captions.ResourceManager.GetString(key)' 找到了解决方案

示例代码如下


    public static string GetResMsg(this HtmlHelper htmlHelper, string key)
    {
      try
      {
        return Resources.[resource class name].ResourceManager.GetString(key);
      }
      catch
      {
        return "?";
      }
    }

我希望有帮助,

此致

关于c# - 类库中的 HttpContext.GetGlobalResourceObject 始终为 null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5931940/

10-12 18:44