ASP.NET - 具有非托管依赖关系的 DLL 在重新启动时失败,在触摸 bin/ 后可以工作

ASP.NET - 具有非托管依赖关系的 DLL 在重新启动时失败,在触摸 bin/ 后可以工作

我对 IIS 和 ASP.NET 还不熟悉,所以请提前原谅。

我们有一个 ASP.NET 应用程序,它引用了具有各种非托管 C++ 依赖项的托管 C++/CLI DLL。托管 DLL 部署到应用程序的 bin 文件夹中,而非托管 DLL 位于 bin/ 的子文件夹中。

当我执行完整的 iisreset(或重新启动服务器)时,我会在事件日志中收到一条 ASP.NET 警告,提示未处理异常。从那时起,每当我运行需要托管 DLL 的代码时,我都会收到完全相同的异常。

但是...只要我触摸 bin/ 文件夹中的任何内容,问题就会消失。从那时起,使用托管 DLL 的代码就可以完美运行。直到下一次 IIS 重置。

任何想法或建议都值得赞赏。显然我正在寻找

-瑞安

答案1

为了后人,我与 Ryan 合作,这个问题已经解决。

我们意识到,触碰应用程序站点目录(“服务”目录)内的文件会触发应用程序重启,从而缩小了问题的范围。我们发现一个Global.asax.cs监听Application_StartASP.NET 生命周期事件的文件,并且该监听器中存在错误。来源

相关内容