【问题标题】:The handle is invalid when loading file or assembly AjaxControlToolkit加载文件或程序集 AjaxControlToolkit 时句柄无效
【发布时间】:2013-06-05 10:30:23
【问题描述】:

我反复出现一个错误。该站点位于 ASP.NET 2.0 Web 表单上。没有模式可以再次重现此错误,因为它有时会发生,并且可以通过在 web.config 的末尾添加空格来解决。

可能是什么问题?

“/”应用程序中的服务器错误。 句柄无效。 (来自 HRESULT 的异常:0x80070006 (E_HANDLE))

异常详细信息:System.Runtime.InteropServices.COMException:句柄无效。 (来自 HRESULT 的异常:0x80070006 (E_HANDLE))

[COMException (0x80070006): 句柄无效。 (HRESULT 异常:0x80070006 (E_HANDLE))]

[FileLoadException:无法加载文件或程序集“AjaxControlToolkit,版本=3.0.30930.28736,Culture=neutral,PublicKeyToken=28f01b0e84b6d53e”或其依赖项之一。句柄无效。 (HRESULT 异常:0x80070006 (E_HANDLE))]

[ConfigurationErrorsException:无法加载文件或程序集“AjaxControlToolkit,版本=3.0.30930.28736,Culture=neutral,PublicKeyToken=28f01b0e84b6d53e”或其依赖项之一。句柄无效。 (来自 HRESULT 的异常:0x80070006 (E_HANDLE))] System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +613

【问题讨论】:

  • 您应该检查手柄是否泄漏,也许您正在使用所有可用的手柄。
  • “它通过在 web.config 的末尾添加空格来解决。” - 你的意思是它通过回收应用程序池来解决,这是一个副作用修改web.config。正如@Lasse 建议的那样,您的应用程序确实必须泄漏句柄。有关该项目的更多信息可能会有所帮助,例如您使用的库类型。
  • System.Windows.Forms.Timer 是否会导致问题?
  • 是的,该类确实使用句柄(就像大多数 System.Windows.Forms.* 类一样),如果处理不当,可能会导致像您一样的问题。
  • 为什么在 ASP.NET 上下文中使用System.Windows.Forms.Timer?在服务器端使用System.Timers.Timer

标签: c# asp.net


【解决方案1】:

AjaxControlToolkit, Version=3.0.30930.28736 is not compatible with asp.net 2.0

注意:当前版本的 AJAX 控件工具包不是 与 ASP.NET 2.0 兼容。兼容的最新版本 使用 ASP.NET 2.0 可以在这里找到:20229

删除当前的AjaxControlToolkit 并安装它的兼容版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多