Desenvolvimento / runtime mecanismo de licenciamento para uma biblioteca de classe C #? [fechadas]

StackOverflow https://stackoverflow.com/questions/1029261

Pergunta

Estou desenvolvendo uma biblioteca de classes .NET (um provedor de dados) e eu estou começando a pensar em como eu iria lidar com o licenciamento da biblioteca para os potenciais compradores. Ao licenciar, quero dizer a mecânica de tentar impedir minha biblioteca seja usado por aqueles que não comprou, não a licença de software (ou seja, Apache, Gnu, etc).

Eu nunca lidei com licenciamento, e no passado, eu sempre desenvolveu aplicativos, e não bibliotecas. Eu não quero tornar as coisas difíceis para os meus clientes; sei que não é possível fazê-lo ferro. Apenas algum mecanismo que me dá proteção decente sem fazer o salto do cliente através de aros ou ranger os dentes.

Eu acho que o mecanismo seria verificar se há uma licença válida quando a classe está sendo usado no modo de desenvolvimento, e não no modo de tempo de execução (quando o software do cliente é liberado aos seus clientes). Eu acho que as bibliotecas são normalmente vendidos por desenvolvedor, mas não tenho certeza de como isso poderia ser realizado sem fazer o odioso mecanismo para meus clientes; talvez isso é deixado para o sistema de honra.

Eu Googled isso e encontrei muitas abordagens. Idealmente, eu gostaria de fazer algo que é geralmente aceite e comum, o "direito" bibliotecas de classes maneira são licenciados, se o que existe, ao invés de fazer os meus clientes a lidar com mais um mecanismo de licença. Um empurrão firme na direção certa será muito apreciada!

Foi útil?

Solução

Esta é a solução fornecida .NET

http://www.ddj.com/web-development/184416695

Outras dicas

Quando seu cliente instancia a sua biblioteca de classes, você faria em seu cheque código de construtor para o licenciamento. Se o fornecedor não tiver uma licença válida / faltando, então você pode lançar uma exceção licenciamento. Isso impediria alguém de usar a sua classe / biblioteca. Você só deve fazer isso uma vez tal que se o licenciamento é válido em uma classe, todas as suas outras classes iria ignorar a verificação de licenciamento.

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