问题
I'm trying to configure nhibernate 2.1.2 to run in medium trust, without any luck. I have tried follwing the suggestions to run in medium trust and pre-generating the proxies.
I then tried to remove all references to lazy loading setting the default-lazy="false" on all classes and bags. However this threw an exception asking me to configure the proxyfactory.factory_class
None of these methds worked as they kept throwing generic security exceptions or throwing easying that libraries do not allow AllowPartiallyTrustedCallers.
Am I using the wrong version of NHibernate if I want to run in medium trust?
Is there a specific set of binaries, or source, which I should be using.
Update:
I managed to get this to work using the steps mentioned on the castle project mailing list mentioned by carl. In addition to this I had to disable the generation of debug information for the castle and nhibernate libraries. I wrote a quick guide to the steps I took which can be found here
回答1:
I am also looking for a solution to this problem. One proposed solution I've come across, here, is to get castle core, castle dynamic proxies, and Nhibernate and recompile them all (with new references to one-another with [assembly: AllowPartiallyTrustedCallers]. Does anyone know if this is the way to go (i haven't had time to try this myself)?
回答2:
NHibernate needs to access your domain model, so your domain model assembly must allow access to partially trusted callers.
Add [assembly:AllowPartiallyTrustedCallers]
to your AssemblyInfo file.
来源:https://stackoverflow.com/questions/2522469/nhibernate-2-1-2-in-medium-trust