2011-08-21 3 views
0

Nous développons une application Web ASP.NET 4.0/MVC 3, en utilisant Active Record comme abstraction de base de données. Pour utiliser des relations paresseuses à l'intérieur des vues, nous utilisons la documentation SessionScopeWebModule de ActiveRecord here.LazyInitializationException après mise à niveau vers IIS 7.5

L'application fonctionne très bien sur notre actuelle Win 2003/IIS 6 machine, mais seulement sur notre nouveau Win 2008 R2/IIS 7.5, il lance un LazyInitializationException lorsqu'un contrôleur ou vue tente d'accéder à une relation paresseuse. Après le passage à la gestion de session manuelle (également expliqué dans le lien doc ci-dessus), cela fonctionne à nouveau.

Je me demande ce que la différence est, comme le manuel précise que les deux approches font essentiellement la même chose.

+0

avez-vous enregistré le module Web sous system.webServer/modules? utilisez-vous un pipeline intégré ou classique? –

+0

salut, s'il vous plaît fournir cela comme une réponse - configuration IIS pour montrer les détails sur l'erreur 500 m'a dit à peu près la même chose. existe-t-il un moyen d'écrire un fichier Web.config intégré et compatible avec iis7? – Tarnschaf

Répondre

0

Lors de l'exécution d'une application ASP.NET dans IIS 7+ dans pipelinier intégré, vous devez enregistrer les modules http dans la section system.webServer/modules de web.config.

Il est possible d'avoir un seul web.config pour les deux IIS 6 et IIS 7+, see this article.

Sinon, exécutez en mode pipeline classique, il se comportera comme dans IIS 6.