J'ai une application qui fonctionne bien qui utilise Windsor pour IoC. Je veux enregistrer les appels de méthode, les paramètres et le temps d'exécution de tous les appels effectués à des composants instanciés par Windsor, donc je mis en place un LoggingInterceptor qui implémente IInterceptor, qui contient:Problème avec les appels de Windsor aux méthodes "généralisées" après l'ajout d'un intercepteur
Stopwatch sw = new System.Diagnostics.Stopwatch();
sw.Start();
invocation.Proceed(); // EXCEPTION IS THROWN HERE
sw.Stop();
Logger.Debug(.....
maintenant des opérations qui fonctionnait bien jettent VerificationExceptions avec le message suivant:
Méthode Repositories.RepositoryBase.GetAll: l'argument de type 'ET' enfreint la contrainte du paramètre de type 'ET'.
La signature de la méthode est la suivante:
public IList<ET> GetAll<ET>() where ET : EntityBase2, IEntity2
(où EntityBase2 et IEntity2 sont de LLBLGenPro)
L'appelant de la méthode est la suivante:
public IList<ServerEntity> GetServers()
{
return GetRepository<IServerRepository>().GetAll<ServerEntity>();
}
(où GetRepository <>() est juste une enveloppe autour de ServiceLocator)
Si je commente l'intercepteur de la configuration du château, tout fonctionne à nouveau correctement.
Pourquoi cela se produit-il maintenant, et y a-t-il une solution pour que je puisse utiliser mon intercepteur de connexion?
grâce
Veuillez publier un test de test complet qui reproduit ce problème. –
Je cours Windsor Castle 2.5 et j'ai exactement le même problème. –