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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top