使用温莎城堡和共享主机NHibernate的设施
题
我试图使用温莎和NHibernate在中等信任环境,我对一些问题的权限运行起来。我已经通过这个的其他问题读,但我使用温莎的NHibernate的设施,我还没有看到讨论。
出于某种原因,存在对Castle.Service.Transations组件的依赖关系,当容器启动。这然后尝试创建和实例:
Castle.Services.Transaction.CallContextActivityManager()
一个安全异常升高为CallContextActivityManager轮胎System.Runtime.Remoting.Messaging.CallContext使用SetData的哪个,如果你有基础设施的权限,只允许。我猜测,中等信任的应用程序没有。
有谁知道周围的中等信任这个安全问题的方法吗?我应该转储NHibernate的设施和与所述容器手动注册吗?
解决方案
可以解决这个问题通过在容器登记TLSActivityManager(对于类型IActivityManager)。所述DefaultTransactionManager(由NHibernateIntegrationFacility使用),那么将使用此ActivityManager代替发射了一个新的CallContextActivityManager
不隶属于 StackOverflow