Direcciones en WCF

0
595

La dirección o Address, es la primera parte del ABC de WCF. La misma define donde se encuentra ubicado el servicio, puede ser un servidor remoto en internet, en la intranet, o una misma PC.

La dirección contiene toda la información necesaria para que los clientes puedan conectarse a él, o los endpoints del servicio. Está compuesta de las siguientes partes:

[transporte]://[maquina][:puerto]/[ruta]

Transporte

El protocolo de transporte (Transport Protocol o Transport Scheme) es el medio de comunicación de él, o los endpoints del servicio. WCF soporta los siguientes Esquemas de Transporte:

  1. HTTP/HTTPS.
  2. TCP.
  3. IPC.
  4. MSMQ.
  5. Service Bus.
  6. WebSocket.
  7. UDP.

Direcciones HTTP

Las direcciones HTTP usan como transporte el protocolo http o http seguro (https). Es el transporte preferido para la web.

El formato de las direcciones HTTP es:

http://[nombre de dominio o nombre de servidor o dirección IP][:puerto]/[ruta]

Algunas ejemplos de direcciones HTTP:

http://midominio:8001/MiServicio

http://localhost:8001

http://172.217.4.4:8001/publico/MiServicio

Si no se especifica el puerto, el default es el 80 y 443 para HTTPS.

https://midominio.com/MiServicio

Direcciones TCP

Como su nombre lo indica, las direcciones TCP usan como transporte el protocolo TCP. Por lo general incluyen el número de puerto al cual conectarse.

net.tcp://localhost:8001/MiServicio

Cuando el puerto no es especificado, el default es el 808.

net.tcp://localhost/MiServicio

Es posible que dos direcciones TCP del mismo host, compartan un mismo puerto:

net.tcp://localhost:8001/MiServicio
net.tcp://localhost:8001/MiOtroServicio

Direcciones IPC

Las direcciones Inter Process Communication (IPC) usan net.pipe como transporte. Estos servicios solo pueden comunicarse con los clientes de la misma máquina. Tampoco es permitido que dos direcciones compartan el mismo nombre.

net.pipe://localhost/MyPipe

Direcciones MSMQ

Las direcciones Microsoft Message Queue (MSMQ) usan como transporte net.msmq. Se debe especificar el nombre de la cola y a su vez su tipo. Si se omite, por default la cola es pública.

net.msmq://localhost/privado/MiServicio
net.msmq://localhost/MiServicio

Direcciones WebSocket

Las direcciones WebSocket son usadas cuando se requiere callback en internet. Si no se especifica el puerto, se usará el default de HTTP.

ws://localhost:8001

Direcciones UDP

Las direcciones UDP usan soap.udp como transporte.

soap.udp://localhost:8081