Unable to find assembly - imposible to trace error

У меня есть веб-сайт, который работает в IIS 7.0 в интегрированном пуле приложений v4.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 сказал: @Dorin: тогда настоящая проблема - это круговая зависимость. Я рекомендую опубликовать новый вопрос об этом.

Я решил проблему с круговой зависимостью и продолжаю получать ту же ошибку в журналах событий Windows.

Сначала я получаю Unable to find assembly 'SolrNet, Version=0.4.0.1001, Culture=neutral, PublicKeyToken=bc21753e8aa334cb', а затем веб-приложение перезапускается.

За 3-10 секунд до появления исключения в журналах windows я обнаружил в логах сайта исключение, вызванное entity framework, поскольку я пытался вставить элемент с тем же первичным ключом, что и существующий. Исключение не было обработано в коде, но было обработано asp.net из-за настроек CustomErrors

<customErrors mode="On" defaultRedirect="/Error.aspx" redirectMode="ResponseRewrite">
    <error statusCode="404" redirect="/Error.aspx"/>
</customErrors>

Может ли это иметь какое-то отношение к ошибке в логах windows?

6
задан abatishchev 7 December 2011 в 13:05
поделиться