Pregunta

Tengo una aplicación .Net 3.0 que necesita pasar un entero a otro programa en la misma máquina. Estaba usando un servicio WCF para hacer esto, pero tuve problemas de derechos de usuario cuando intenté HOSTING el servicio en el cuadro local. Cualquier idea sobre cómo lograr esto será muy apreciada.

Gracias,

Dave

¿Fue útil?

Solución

WCF sigue siendo el camino a seguir aquí.

En general, para la comunicación entre procesos en la misma máquina, usaría el canal de tubería nombrado. Si no está utilizando esto, le sugiero que lo haga y luego determine cuál es el error en el alojamiento.

Si ambos programas tienen bucles de mensajes que se están procesando y está enviando un número entero, también puede usar una llamada a SendMessage a través de la capa P / Invoke, pero eso es solo porque está enviando datos que son iguales o Más pequeño de lo que SendMessage permitirá. Los mensajes más grandes requerirán algo como WCF.

Otros consejos

.NET Remoting es una manera para pasar mensajes entre programas.

¿Cómo estabas hospedando? Tenga en cuenta que un programa que no sea de administración y que use http necesitará permisos para usar el puerto (en http.sys). Esto es a través de netsh (Vista) o (IIRC) httpcfg (XP).

Consulte aquí , por ejemplo.

WCF es el camino a seguir. Debe usar NetNamedPipeBinding para asegurar la comunicación en la misma máquina.
Más información sobre WCFBindings https://msdn.microsoft.com /en-us/library/ms730879(v=vs.110).aspx

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top