Pergunta

Eu escrevo software interno para uma empresa.

Eu sempre quero aproveitar as técnicas de OOP da melhor maneira possível. Nesse pensamento, quero criar uma camada de acesso a dados (dal) isolada em seus próprios .DLL.

O que posso fazer para limitar o acesso do dal DLL apenas para minha camada lógica de negócios DLL?

A última coisa que preciso é de alguém da empresa com um pouco de conhecimento de programação mais acesso ao sistema (via Active Directory) para instalar .NET Express, referência ao meu .DLL, e comece a disparar o código de acesso a dados fora do sistema real. Existem mecanismos .NET que eu posso empregar para limitar um DLL Para ser usado apenas por um aplicativo/DLL de host pré-selecionado?

Foi útil?

Solução

A maneira mais fácil de limitar o acesso de uma perspectiva de código é usar as assembléias de amigos. Você pode fazer com que todos os tipos de sua camada de acesso à camada DLL DLL / interno. Em seguida, adicione apenas os componentes da camada lógica de negócios como amigos e eles poderão usar os tipos. Qualquer outra pessoa na empresa não terá, pois não possui DLLs com acesso interno.

Documentação - http://msdn.microsoft.com/en-us/library/bb384772.aspx

Outras dicas

Você provavelmente poderia usar a estrutura de licenciamento de aplicativos criada no .NET usando a classe Licensuprovider. Dependendo de como você o implementou, ter uma DLL não seria suficiente para usar sua biblioteca ... eles também precisariam de algum tipo de arquivo de licença ou fornecer uma chave de licença. Aqui está um bom artigo sobre como começar a usá -lo.

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