Dec 21, 2011

Erro ao criar proxy com nHibernate - Creating a proxy instance failed


Essa semana tive um problema , onde acabei gastando algumas horas para descobrir.


O problema era o seguinte, ao atualizar uma entidade,o nhibernate se perdia inteiro para contruir o proxy e gerava uma exceção.


o exceção era a seguinte:



Mensagem de exceção
NHibernate.HibernateException: Creating a proxy instance failed 

Inner ExceptionSystem.ArgumentNullException: Value cannot be null.Parameter name: type  


o que não dizia muita coisa, já que erro para criar proxy pode ser uma infinidade de problemas.


Pesquisando bastante, acabei me deparando por algumas pessoas comentando um possível Bug no Nhibernate  utilizando o proxy factory LinFu, exatamente como eu, mas ignorei pois eram poucos os lugares e ninguém confirmava o problema.

Por fim, Acabei vasculhando todas as entidades, e acabei  achando um método com parâmetro out, que havia sido alterado por um outro colega meu, alterei o método para não precisar do parâmetro e o sistema voltou a funcionar correamente.

Não sei se este problema já foi corrigido em novas versões, mas tente isto, talvez resolva.

A assinatura do método era parecido com a seguinte:


PROBLEMA:

public void VerificarUsuario(AcessoUsuario acessoUsuario, out string mensagemErro)



simplismente alterei para que a mensagem de erro fosse disparada diretamente do método:


SOLUÇÃO

public void VerificarUsuario(AcessoUsuario acessoUsuario)


Espero ter ajudado.

Abraços