gpt4 book ai didi

asp.net - 无法找到程序集 - 无法追踪错误

转载 作者:行者123 更新时间:2023-12-04 14:49:54 27 4
gpt4 key购买 nike

我有一个网站,它在集成 v4.0 应用程序池中的 IIS 7.0 中运行。
从今天开始,我在 Windows 事件日志中收到以下异常。该网站上线了 1 个月,我以前从未遇到过这种异常。我每小时都会在相同的分钟内收到异常,这有点奇怪。

一些可能的原因:

我创建了一个动态加载的库。

 _searchProvider = (ISearchProvider)Activator.CreateInstance("SolrSearchProvider", "SearchProviders.SolrSearchProvider.SolrSearchProvider").Unwrap();

该库引用了 SolrNet。

您知道问题可能是什么或如何进行更多调查以找到解决方案吗???
An unhandled exception occurred and the process was terminated.

Application ID: DefaultDomain

Process ID: 7192

Exception: System.Runtime.Serialization.SerializationException

Message: Unable to find assembly 'SolrNet, Version=0.4.0.1001, Culture=neutral, PublicKeyToken=bc21753e8aa334cb'.

StackTrace: at System.Runtime.Serialization.Formatters.Binary.BinaryAssemblyInfo.GetAssembly()
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.GetType(BinaryAssemblyInfo assemblyInfo, String name)
at System.Runtime.Serialization.Formatters.Binary.ObjectMap..ctor(String objectName, String[] memberNames, BinaryTypeEnum[] binaryTypeEnumA, Object[] typeInformationA, Int32[] memberAssemIds, ObjectReader objectReader, Int32 objectId, BinaryAssemblyInfo assemblyInfo, SizedArray assemIdToAssemblyTable)
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadObjectWithMapTyped(BinaryObjectWithMapTyped record)
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
at System.AppDomain.Deserialize(Byte[] blob)
at System.AppDomain.UnmarshalObject(Byte[] blob)

我将此失败与在与网站位于同一文件夹中的一个资源文件夹中大量创建新文件夹和新图像文件相关联。

我知道 ASP.NET 会在文件夹删除的情况下重新启动应用程序池。有没有可能是因为这个新的资源文件夹被创建并且 ASP.NET 以某种方式重新加载了程序集?

Mauricio Scheffer said: @Dorin: then the real problem is the circular dependency. I recommend posting a new question about that.



我解决了循环依赖问题,并且在 Windows 事件日志中不断收到相同的错误。

首先我得到 Unable to find assembly 'SolrNet, Version=0.4.0.1001, Culture=neutral, PublicKeyToken=bc21753e8aa334cb'然后网络应用程序正在重新启动。

在 Windows 日志中出现异常之前 3 到 10 秒,我在我的站点日志文件中发现了 Entity Framework 抛出的异常,因为我试图插入一个与现有项目具有相同主键的项目。代码中未处理异常,但由于 CustomErrors 设置而被 asp.net 处理
<customErrors mode="On" defaultRedirect="/Error.aspx" redirectMode="ResponseRewrite">
<error statusCode="404" redirect="/Error.aspx"/>
</customErrors>

这与 Windows 日志文件中的错误有什么关系吗??

最佳答案

我在一篇博客文章中发现了这个声明,除了主题之外,还谈到了 why an application pool might go down

"An unhandled exception in a thread not associated with a request will take down the process. This occurs even if you have a handler setup via the Application_Error method."



对于某些类型的请求,我从请求线程中创建了 8 个新线程,以便同时查询 SOLR 的 8 个不同内核。在其中一个内核中,我遇到了一个我没有在该线程中处理的异常,这让我陷入了发布的问题。

我希望这可以帮助其他人,如果他们遇到类似的错误。非常感谢你们的帮助。由于您的回答,我改进了我的代码,并且发现并修复了与问题无关的其他错误。此外,我开始更多地研究 ASP.NET 如何加载程序集,这对我有很大帮助。

关于asp.net - 无法找到程序集 - 无法追踪错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8343976/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com