【发布时间】:2011-07-16 05:16:34
【问题描述】:
我有一个使用 C# 的 ASP.NET 网站,它使用 DLLImport 调用 C++ 方法。一切正常,突然我不断收到此错误:
外部组件抛出异常。描述:一个未处理的 执行当前 Web 请求期间发生异常。 请查看堆栈跟踪以获取有关错误的更多信息和 它起源于代码。
异常详细信息:System.Runtime.InteropServices.SEHException: 外部组件抛出异常。
源错误:在执行过程中产生了未处理的异常 执行当前的 Web 请求。有关原产地的信息 可以使用异常来识别异常的位置和位置 下面的堆栈跟踪。
【问题讨论】:
-
你能发布完整的堆栈跟踪吗?事件查看器中是否有与此错误相关的内容?
-
堆栈跟踪仅指向调用 C++ 方法的 C# 方法。你认为这可能是因为 C++ dll 被缓存了,我必须清理 asp.net 临时文件?
-
也许,尤其是在服务器上没有其他任何变化的情况下。我猜您尝试了 iisreset 或至少回收了应用程序池?
-
是否有提供更详细信息的内部异常?
-
每次我执行 IISRESET 时它都会消失,并在我第二次运行该方法时重新出现。好像被缓存了有什么办法可以避免这个问题?