erreur mystérieuse « Le fichier n'existe pas » (dans le code sans rapport avec tout type de fichier IO) dans global.asax

StackOverflow https://stackoverflow.com/questions/3929322

Question

Je reçois une erreur « Le fichier n'existe pas ». Dans mon application ASP.NET. C'est étrange, cependant.

Tout d'abord, il n'y a pas de fichier de code IO partout dans - je ne fais rien avec tous les fichiers quand il se produit

.

Aussi, il est passe sur la dernière accolade fermante de la méthode Application_Error () dans global.asax (qui est celui que vous mettez le code pour gérer les exceptions non gérées). C'est vrai. Il ne se produit pas sur une instruction throw ou une ligne de code significatif, mais à droite sur la dernière accolade

Le TargetSite est:

  

{System.IO.FileInfo   GetFileInfo (System.String,   System.String,   System.Web.HttpResponse)}

Ce qui me regarde comme quelque chose d'interne à ASP.NET (méthode il n'y a pas GetFileInfo () dans ma solution).

Le StackTrace est seulement:

  

  ASP.global_asax.Application_Error (sender Object, EventArgs e)   c: \ Subversion \ ConfApp \ Website \ Global.asax: ligne 36 à   System.EventHandler.Invoke (Object   expéditeur, EventArgs e) à   System.Web.HttpApplication.RaiseOnError ()

D'où je peux tirer aucun indice.

Autres détails:

  • Je suis en train d'essayer de résoudre les conflits entre jQuery 1.4 (et l'interface utilisateur jquery) et MS ASP.NET AJAX 4 dans cette application au moment

  • Il a commencé après avoir mis à jour l'application de .net 2.0 à .net 4 et Visual Studio 2010.

Toute idée comment je pourrais commencer à regarder dans tout cela?

Mise à jour: Peu de temps après la publication, je supprimé et l'interface utilisateur jquery ajoutée re (y compris .js, Css et les images). Jusqu'à présent, il semble que cela a réparée. Je ne sais pas comment une bibliothèque JS côté client peut provoquer une erreur dans Global.asax. Ajoutera cela comme la réponse, bien que, en cas d'erreur ne se présente pas bientôt ...

Était-ce utile?

La solution 2

Un jour plus tard, et le problème semble être disparu.

Je retire puis réinsérés dans l'interface utilisateur jquery (y compris .js, Css et les images). Jusqu'à présent, il semble que cela a réparée. Très étrange.

Autres conseils

Dans la méthode ApplicationError, vérifier Request.CurrentExecutionFilePath. CurrentExecutionFilePath doit indiquer quel fichier a été demandé.

Si vous cochez cette propriété m'a aidé à déterminer que Chrome demande automatiquement « /favicon.ico. » S'il n'y a pas favicon, vous obtiendrez un « fichier n'existe pas, » même pensé la page se charge très bien. BTW, IE et FF ne se comportent pas de cette façon.

En utilisant la suggestion de Perry d'examiner Request.CurrentExecutionFilePath dans Application_Error, je trouve que mon application ASP.Net n'a pas pu trouver les fichiers jQuery dans des dossiers préfixés par "~/" dans la balise <script>.

Je faisais dans mon balisage MasterPage:

<script src="~/Scripts/jquery-1.4.1.js" type="text/javascript">

quand je suis en train de faire ceci:

<script src="Scripts/jquery-1.4.1.js" type="text/javascript">
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top