2011-02-16 2 views
0

je les inscriptions suivantesComment puis-je utiliser AutofacWebTypesModule pour résoudre HttpServerUtilityBase

builder.RegisterModule(new AutofacWebTypesModule()); 
    builder.Register<MyType>(ctx => 
    { 
     var server = ctx.Resolve<HttpServerUtilityBase>(); 
     ... 
    }); 

Lorsque je tente de résoudre MyType par un constructeur sur un contrôleur, je reçois l'exception suivante. Qu'est-ce que je fais mal?

Autofac.Core.DependencyResolutionException était non gérée par le code utilisateur
Message = Pas de champ correspondant à la valeur de l'expression » (Autofac.Builder.RegistrationBuilder`3 + <> c__DisplayClass0 [System.Web.HttpServerUtilityBase, Autofac .Builder.SimpleActivatorData, Autofac.Builder.SingleRegistrationStyle]). LifetimeScopeTag.Equals (scope.Tag) ' est visible à partir de l'étendue dans laquelle l'instance a été demandée.

Répondre

1

Yikes - ce message d'erreur est passé tout faux :)

Le problème est plus probable que vous essayez de résoudre MyType directement à partir du conteneur (par opposition à la DependencyResolver ou bien vous prenez une dépendance à partir d'un singleton. le composant HttpServerUtilityBase ne peut être utilisé dans le cadre d'une requête Web.

Essayer de le résoudre de Applicaiton_Start également échouer en mode pipeline intégré IIS7.

HTH! Nick

Questions connexes