es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Enviando datos de una aplicación .NET a otra.

He encontrado respuestas a esta pregunta relacionadas con WCF, pero son de 2013 y me pregunto si algo ha cambiado.

Escribo complementos para una aplicación de terceros que carga los complementos como COM. También carga todos los complementos en el mismo contexto, lo cual me causó problemas en el pasado con mis propias librerías de dependencia, pero esto lo resolví al darles un nombre fuerte a todas las librerías y así poder cargar diferentes versiones del mismo archivo DLL en el contexto (en caso de que el usuario utilice varios de mis complementos).

Ahora tengo una aplicación externa que debe enviar datos al complemento para que sean procesados ​​además. Mi primer enfoque fue usar OWIN como un host REST y simplemente agregar un controlador. Desafortunadamente, toda esa arquitectura está estrechamente ligada a Newtonsoft.Json y esas DLL no tienen un nombre fuerte, es decir, causan problemas cuando otros complementos tienen la misma idea pero utilizan versiones más antiguas o más nuevas de la librería.

Entonces me pregunto qué más podría usar que idealmente esté integrado en .NET. ¿Remoting? ¿WCF después de todo? ¿Algo más nuevo del que no estoy al tanto?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como experto en tecnologías de IT especializado en C#, REST, WCF, json.net y .net-remoting, sugiero que WCF aún es una opción viable para tus necesidades. Aunque alguna de la información que has encontrado sobre WCF pueda ser de 2013, sigue siendo una tecnología ampliamente utilizada para construir servicios que se comunican a través de una red.

    En tu escenario, utilizar WCF te permitiría definir un contrato de servicio que la aplicación externa puede consumir para enviar datos al complemento y procesarlos. Puedes definir el protocolo de comunicación (por ejemplo, TCP, HTTP, etc.) y el formato de datos (por ejemplo, JSON, XML, etc.) que el servicio utilizará para comunicarse con la aplicación externa.

    WCF también admite ensamblados con nombres fuertes, lo que te permite evitar los problemas de dependencia que has encontrado con Newtonsoft.Json. Además, WCF te permite definir el servicio en código para que pueda cargarse dinámicamente por tu aplicación de terceros según sea necesario.

    Si prefieres explorar otras opciones, podrías considerar el uso de ASP.NET Core, que incluye una versión ligera de ASP.NET Web API para construir APIs REST. Este framework es de código abierto y está construido sobre .NET Core, lo que lo hace multiplataforma y altamente modular. Sin embargo, es posible que requiera más configuración y setup que WCF.

    En general, tanto WCF como ASP.NET Core pueden cumplir con tus requisitos para construir un servicio que pueda procesar datos enviados desde una aplicación externa. La elección entre uno u otro puede depender de tus preferencias personales y familiaridad con los frameworks.

Comments are closed.