1

Je reçois une erreur 'Fichier inexistant'. Dans mon application ASP.NET C'est étrange, cependant. Tout d'abord, il n'y a pas de code IO autour de moi - je ne fais rien avec des fichiers quand cela se produit.Erreur mystérieuse 'Fichier inexistant' (dans un code sans rapport avec un fichier de type IO) dans global.asax

De plus, cela se produit sur la toute dernière accolade fermante de la méthode Application_Error() dans global.asax (c'est celle que vous avez utilisée pour gérer les exceptions non gérées). C'est vrai: il ne se produit pas sur une instruction throw, ou toute ligne de code significatif, mais juste sur la dernière accolade.

Le TargetSite est:

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

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

Le StackTrace est seulement:

à ASP.global_asax.Application_Error (expéditeur d'objet, EventArgs e) dans c: \ Subversion \ ConfApp \ Site \ Global.asax: ligne 36 à système. EventHandler.Invoke (sender objet , 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, j'enlevé puis réinsérés UI jquery (y compris .js, Css et les images). Jusqu'à présent, il semble que cela l'a corrigé. Vous ne savez pas comment une bibliothèque JS côté client peut provoquer une erreur dans Global.asax. Va ajouter cela comme la réponse, si l'erreur ne s'affiche pas bientôt ...

+0

une chose à considérer .. Si vous acheminez tous les fichiers à travers l'asp. Gestionnaire de NET (comme avec mvc) un fichier JS manquant peut provoquer une telle exception –

+0

Je n'utilise pas MVC, et je ne suis pas sûr de ce que cela signifie d'acheminer tous les fichiers via le gestionnaire asp.net (c'est dans IIS droite -. fichiers aspx, etc traversent, mais normalement les images et css et tout ce qui passe par autre chose?). C'est une page complexe avec un tas de ajp ajax, aspax ajax, et jQuery dessus :( – MGOwen

Répondre

1

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

J'ai supprimé et rajouté jquery UI (y compris .js, .css et les images). Jusqu'à présent, il semble que cela l'a corrigé. Très étrange.

4

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

La vérification de cette propriété m'a aidé à déterminer si Chrome demandait automatiquement "/favicon.ico". S'il n'y a pas de favicon, vous obtiendrez un "fichier n'existe pas", même si la page se charge très bien. BTW, IE et FF ne se comportent pas de cette façon.

+0

vous juste m'a sauvé des HEURES de la recherche. \ R \ n \ r \ nMal Chrome \ r \ nMerci \ u00E0 – user158017

+0

Merci. \ R \ n Request.CurrentExecutionFilePath a sauv \ u00E9. – Karlth

1

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

que 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">