Question

J'ai un site Web qui fonctionne dans IIS 7.0 dans un pool d'applications v4.0 intégré. A partir d'aujourd'hui je reçois l'exception ci-dessous dans le journal des événements Windows. Le site est en ligne pendant 1 mois et je n'a jamais eu cette exception avant. Je reçois l'exception aux mêmes minutes chaque heure qui est un peu étrange.

Quelques raisons possibles:

I ont une bibliothèque que je créé que je charge dynamique.

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

Cette bibliothèque a référence à SolrNet.

Avez-vous une idée de ce que le problème peut être ou comment enquêter plus en vue de trouver une solution ???

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)
Je cet échec associé à une création lourde de nouveaux dossiers et de nouveaux fichiers image dans un dossier de ressources qui se trouve dans le même dossier que le site Web. Je sais que ASP.NET redémarre le pool d'applications en cas de suppression du dossier. Est-il possible que quelque chose est arrivé à cause de ce nouveau dossier en cours de création de ressources et en quelque sorte des ensembles ASP.NET de ?? recharge des

Mauricio Scheffer dit: @Dorin: alors le problème réel est la dépendance circulaire. Je recommande l'affichage d'une nouvelle question à ce sujet.

Je résolu le problème avec la dépendance circulaire et je continue à avoir la même erreur dans les journaux d'événements Windows.

Tout d'abord j'obtenir Unable to find assembly 'SolrNet, Version=0.4.0.1001, Culture=neutral, PublicKeyToken=bc21753e8aa334cb' puis le applicatioin Web redémarre.

3 à 10 secondes avant que je reçois une exception dans les journaux de fenêtres, j'ai identifié un expcetion dans mes fichiers de site journaux jetés par le cadre de l'entité parce que je tentais d'insérer un élément avec la même clé primaire comme existant. L'exception n'a pas été traitée dans le code, mais a été traité par asp.net en raison des paramètres CustomErrors

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

peut-il avoir quelque chose à voir avec l'erreur dans les fenêtres des fichiers journaux ??

Était-ce utile?

La solution

Je trouve cette déclaration sur un billet de blog que, outre le sujet, parle aussi de pourquoi un pool d'applications peut descendre

"Une exception non gérée dans un thread non associé à une volonté de demande prendre le processus. Cela se produit même si vous avez une configuration de gestionnaire par la méthode de Application_Error ».

Pour certains types de demandes que je créer 8 nouveaux fils des fils de demande pour faire requête simultanée à 8 cœurs différents de mon SOLR. Dans l'un de ces noyaux, je recevais une exception que je ne géraient pas dans ce fil et qui me suis entré dans le problème ci-dessous.

J'espère que cela aide quelqu'un d'autre si elles rencontrent une erreur semblable. Merci un gars de beaucoup pour l'aide. En raison de vos réponses que j'amélioré mon code et j'ai découvert et corrigé d'autres erreurs non liées à la question. Aussi j'ai commencé à regarder de plus sur la façon dont l'ensemble des charges ASP.NET qui était une grande aide.

Autres conseils

où l'ensemble a été installé? était dans GAC ou dans le dossier bin? a le fournisseur d'hébergement changé ses paramètres? essayez de définir des chemins dans le fichier de sondage config, où les recherches CLR pour dll.

Avez-vous pensé à ajouter l'ensemble au répertoire de travail de votre application?

Il doit être là pour que le sérialiseur pour le trouver et charger les types.

Il suffit de copier manuellement dans l'explorateur ou écrire une méthode qui copie le fichier dans le répertoire de travail.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top