Utilizando uma dll C# com Node.js

Fala Galera! Tudo certo?

Recentemente precisamos utilizar algumas funcionalidades escritas em C# (que foram escritas há alguns anos atrás, e não tínhamos mais o código fonte [os famosos sistemas legados, né…]). A solução menos trabalhosa foi a que vou mostrar aqui, bora?

Sem mais delongas, vou mostrar como fazer para utilizar a dll escrita em C# em nossa aplicação Node.js.

O pacote utilizado foi o edge-js, que faz exatamente o que a gente precisa: lê uma DLL, invoca o método, lê o retorno e nos devolve.

Isso na prática

Imagine que tenhamos uma Class Library em C# que sirva para fazermos operações matemáticas, dentre elas uma soma, parecido com isso aqui:

Essa Class Library vai gerar uma dll chamada Matematica.dll, que é o nome desse projeto.

Em um outro projeto do tipo Console Application, o código ficaria assim:

E o resultado final é esse:

soma

Até aí, tudo certo!

Agora, vamos lá pro nosso projeto em Node.js, a primeira etapa é instalar o pacote com o comando:

npm install --save edge-js

Com o pacote instalado a utilização fica assim:

Vamos para as considerações:

O parâmetro source serve para colocarmos código em C#, vejam que o código fica entre comentários.

Nossa função do C# recebe um parâmetro do tipo dynamic então podemos passar vários parâmetros para ela e acessar posteriormente os atributos dentro de “input”.

Vejam que o código C# é praticamente idêntico ao que fizemos no Console Application.

O parâmetro references serve para colocarmos as dll’s necessárias para o funcionamento do código que está dentro de source, lá colocamos o caminho completo para a dll, e está somente “Matematica.dll” pois a dll está na mesma pasta da aplicação em Node.js.

Depois que executamos o código que está na variável “soma”, temos um callback com um erro ou o resultado na nossa função em C#, que ficou assim:

somanode

O resultado veio do nosso método escrito em C#.

Belezura galera? Espero que seja útil!

Os códigos utilizados estão disponíveis no GitHub: https://github.com/vmussak/nodejs-csharp-dll

Por hoje é só isso, qualquer dúvida ou sugestão, estou à disposição! Até mais 😀

Anúncios

2 thoughts on “Utilizando uma dll C# com Node.js

  1. Vitor Ribeiro 28/01/2019 / 20:36

    Olá, Vinicius! Tudo bem?
    Acompanho você no Facebook e ao rodar meu feed veio uma publicação sua sobre Arduino Day 2019.
    Sou aluno do Senac de Jaboticabal e desde a nossa visita a SMN venho acompanhando suas publicações.
    Parabéns pela iniciativa e peço que sempre publique linha de códigos e explicação para o aprendizado de todos.

    Parabéns novamente e um grande abraço.

    Gostar

Deixe uma Resposta para Vitor Ribeiro Cancelar resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão /  Alterar )

Google photo

Está a comentar usando a sua conta Google Terminar Sessão /  Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão /  Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão /  Alterar )

Connecting to %s