Usando o Castelo de Windsor ea facilidade NHibernate em hospedagem compartilhada
Pergunta
Eu estou tentando usar o Windsor e NHibernate em um ambiente de confiança média e eu estou correndo contra alguns problemas com permissões. Eu li através das outras perguntas sobre isso, mas eu estou usando instalação NHibernate de Windsor, que eu não vi discutido.
Por alguma razão há uma dependência das Castle.Service.Transations montagem quando o recipiente é iniciado. Isso, então, tenta criar e instância:
Castle.Services.Transaction.CallContextActivityManager()
Uma exceção de segurança é criado como pneus CallContextActivityManager para usar SetData em System.Runtime.Remoting.Messaging.CallContext que só é permitido se você tem permissão de infra-estrutura. Eu estou supondo que aplicativos de confiança média não.
Alguém sabe uma maneira de contornar este problema de segurança na confiança média? Devo despejar a instalação NHibernate e registrá-lo manualmente com o recipiente?
Solução
Você pode contornar este problema registrando o TLSActivityManager no recipiente (para o tipo IActivityManager). O DefaultTransactionManager (usado por NHibernateIntegrationFacility) irá então usar este ActivityManager em vez de disparar um novo CallContextActivityManager.