我在一个运行Apache和mod_mono的Linux服务器上构建了一个MySQL web应用程序,并使用MySQL连接器/NET建立了MySQL数据库。一切都运作得很好..。但只有在引发初始异常之后:如果没有人请求此站点“一段时间”(我不清楚其确切的持续时间和原因,但似乎有某种时长超时),那么一个新的请求总是会导致:
System.IO.FileNotFoundException
Could not load file or assembly 'MySql.Data' or one of its dependencies
Description: HTTP 500.Error processing request.
Details: Non-web exception. Exception origin (name of application or object): mscorlib.
Exception stack trace:
at System.AppDomain.Load (assemblyString, assemblySecurity, refonly)
at System.AppDomain.Load (assemblyString)
at (wrapper remoting-invoke-with-check) System.AppDomain:Load (string)
at System.Reflection.Assembly.Load (assemblyString)
at System.Web.Compilation.BuildManager.LoadAssembly (info, al)
at System.Web.Compilation.BuildManager.GetReferencedAssemblies ()
at System.Web.Compilation.BuildManager.CallPreStartMethods ()简单的浏览器重新加载/刷新或重复请求总是成功的,此后一切都正常工作,即使浏览器关闭,然后在“一段时间”过去之前就启动了新会话,即使来自不同位置的不同用户发出请求--所有东西总是在最初的单一异常之后正常工作,而这个异常只是通过再次“修复”。
对造成这种烦恼的原因/解决办法的思考?这并不能给人留下好的第一印象!
发布于 2021-07-20 20:54:45
错误仅在第一次尝试时发生,这意味着最终将找到文件( DLL)。MySql.Data.dll的唯一实例是(曾经)在GAC中。
但是ASP.NET网络应用程序也会在应用程序根目录的/bin文件夹中使用DLL,所以我创建了/bin,并将MySql.Data.dll的副本放入其中:问题解决了!启动时没有错误。
https://stackoverflow.com/questions/64391258
复制相似问题