10
votes

Httpapplication.application_start ne pas tirer après la mise à niveau vers web API 2

J'ai mis à niveau une application à Web API 2 et l'application_start ne serait pas incendiable à la mise à niveau après l'exécution de IIS Express. J'ai suivi la voie de mise à niveau officielle sur http://www.asp.net/mvc/tatudials/mvc-5/how-aupgrade-an -Apnet-MVC-4-and-Web-API-PROJET-API-TO-ASPnet-MVC-5-and-Web-API-2 et ont vérifié mes paramètres.

L'application utilise StructureMap MVC 4 pour injecter des dépendances. Donc, le Webactivator's PreapplicationStartMethod est tiré et le résolveur de dépendance est défini correctement. Après cela, aucune autre exécution ne peut être tracée. J'ai activé Modifier et continuer et pourtant casser le point au début de l'application_start n'est pas touché.

Voici tout ce que j'ai essayé: une. Désactiver PRIAPPLICATIONSArtMethod et exécuter l'application b. Modifiez les paramètres de compilation du global.asax et du code derrière c. Créez un autre projet WebAPI2 avec une structure similaire et configurez moins le code réel et cela fonctionne bien

J'ai nettoyé et exécuté l'application; ont aussi nettoyé le dossier Temp ASP.NET

Appréciez l'aide pour résoudre ce problème.


0 commentaires

4 Réponses :


1
votes

Assurez-vous que IIS Express est fermé, puis F5 à nouveau pour voir si l'application_start est touchée.


1 commentaires

J'ai déjà fait cela - n'a pas aidé. Pour Kicks, j'ai changé le port pour exécuter l'application et essayé et cela n'a pas fonctionné non plus.



5
votes

Votre débogueur attache une fois votre application démarrée, vous n'allez pas toucher les points d'arrêt de votre méthode de démarrage de l'application. Une solution de contournement consiste à faire redémarrer votre serveur Web pendant que vous êtes attaché au processus:

Éditez simplement votre web.config (il suffit d'ajouter un espace) et de l'enregistrer, cela établira votre redémarrage de l'application HTTP.


3 commentaires

Je suis au courant de cela; J'ai fait oublier que lorsque j'essaie de modifier le fichier global, Modifier la boîte de dialogue Edit Continuer indique que l'assemblage n'est pas chargé. Je vais supprimer le fichier global, fermer la solution, re-ajouter et voir ce qui se passe.


Ah! Désolé, a mal interprété votre réponse. Il dit que je dois arrêter ma session de débogage lorsque je tente de sauvegarder le fichier web.config même si j'ai activé Modifier & continuer. Une quelconque idée du pourquoi?


Je suppose que je peux explorer plus et poursuivre. Fait intéressant, le point de rupture de l'application_start de la nouvelle application API est frappé chaque fois sans modification de Web.config.



2
votes

mettre un débogger.break (); instruction dans votre application_start, puis effectuez un IISRESET ou recyclez votre piscine App, puis appuyez sur F5. Une fenêtre juste dans le temps de débogueur devrait apparaître si un point d'arrêt ne le coupe pas.


0 commentaires

0
votes

Je viens de courir dans le même problème. La méthode globale.aSax.cs applicatif_start () n'avait aucun paramètre. Une fois que j'ai ajouté les standards applic_start (expéditeur d'objet, evenargs e) La méthode a été touchée.


0 commentaires