2010-03-26 10 views
5

Estoy tratando de configurar nhibernate 2.1.2 para ejecutar en confianza media, sin suerte. He intentado seguir las sugerencias para ejecutar en confianza media y pre-generating the proxies.NHibernate 2.1.2 en confianza media

Intenté eliminar todas las referencias a la carga diferida configurando default-lazy = "false" en todas las clases y bolsas. Sin embargo, esto arrojó una excepción que me pedía que configurara la clase proxyfactory.factory_class

Ninguno de estos métodos funcionaba, ya que seguían lanzando excepciones de seguridad genéricas o lanzando easying que las bibliotecas no permitían AllowPartiallyTrustedCallers.

¿Estoy usando la versión incorrecta de NHibernate si quiero ejecutar en confianza media?

¿Existe un conjunto específico de binarios, o fuente, que debería estar utilizando?

Actualización:

que logró conseguir que esto funcione utilizando los pasos mencionados en la castle project mailing list mencionado por Carl. Además de esto tuve que deshabilitar la generación de información de depuración para las bibliotecas castle y nhibernate. Escribí una guía rápida de los pasos que tomé que se puede encontrar here

Respuesta

2

También estoy buscando una solución a este problema. Una solución propuesta que me he encontrado, here, es obtener Castle Core, Castle Dynamic Proxies y Nhibernate y recompilarlos todos (con nuevas referencias entre sí con [assembly: AllowPartiallyTrustedCallers]. ¿Alguien sabe si este es el camino? ir (no he tenido tiempo de probar esto mismo)?

+0

Lo encontré y estoy trabajando en ello para ver si funciona, si se actualiza con los resultados. – John

+0

@John, Good, it wi Será interesante ver si esa es la respuesta. – carl

+0

Esta fue la respuesta, sin embargo, hubo algunas cosas adicionales que se deben hacer para que funcione correctamente, como decirle al proyecto que no cree los archivos pdb. A punto de escribir una guía de todos los pasos que tomé, solo tengo que corregir algunos errores que el cliente encontró primero. – John

0

NHibernate necesita para acceder a su modelo de dominio, por lo que su montaje modelo de dominio debe permitir el acceso a los llamadores de confianza parcial.

Añadir [assembly:AllowPartiallyTrustedCallers] a su archivo AssemblyInfo