erreur mystérieuse « Le fichier n'existe pas » (dans le code sans rapport avec tout type de fichier IO) dans global.asax
-
30-09-2019 - |
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 ...
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">