处理“无法访问已关闭的资源集”

时间:2010-03-12 13:16:32

标签: asp.net localization resx

我在数据库中有一个包含多种语言的网站。从数据库我使用ResXResourceWriter来创建我的.resx文件。这工作得非常好,但有时我得到这个例外:

MESSAGE: Cannot access a closed resource set.
SOURCE: mscorlib
FORM: 
QUERYSTRING: 
TARGETSITE: System.Object GetObject(System.String, Boolean, Boolean)
STACKTRACE:    at System.Resources.RuntimeResourceSet.GetObject(String key, Boolean ignoreCase, Boolean isString)
  at System.Resources.RuntimeResourceSet.GetString(String key, Boolean ignoreCase)
  at System.Resources.ResourceManager.GetString(String name, CultureInfo culture)
  at System.Linq.Expressions.Expression.ValidateStaticOrInstanceMethod(Expression instance, MethodInfo method)
  at System.Linq.Expressions.Expression.Call(Expression instance, MethodInfo method, IEnumerable`1 arguments)
  at System.Data.Linq.DataContext.GetMethodCall(Object instance, MethodInfo methodInfo, Object[] parameters)
  at System.Data.Linq.DataContext.ExecuteMethodCall(Object instance, MethodInfo methodInfo, Object[] parameters)
  at Business.DatabaseModelDataContext.Web_GetMostPlayedEvents(String cultureCode)
  at Presentation.Default.Page_Load(Object sender, EventArgs e)
  at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
  at System.Web.UI.Control.LoadRecursive()
  at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

我不知道为什么会这样或者如何解决它。有谁知道这个?

谢谢, 菲利普

1 个答案:

答案 0 :(得分:0)

我怀疑你的程序例程即将结束时,是否过早关闭了DataSource,或者根本没有关闭它?