2009-11-11 18 views
5

Esto es probablemente un problema de red básico, pero soy nuevo en esto y simplemente no sé la respuesta.¿Cómo puedo alojar un servicio wcf en internet?

He escrito un servicio y cliente wcf. Puedo utilizar uno de los enlaces HTTP y hacer que el servicio funcione correctamente cuando coloco la dirección IP de red de mi máquina como la dirección del punto final y ejecuto el cliente y el servidor desde la misma máquina. Ahora, deseo poder conectarme a este servicio desde una máquina diferente a través de Internet. Claramente, no funciona cuando uso mi dirección IP de red en este escenario, pero simplemente poner la dirección IP de banda ancha de mi enrutador tampoco parece funcionar. ¿Me falta un puerto de firewall que necesito abrir, o estoy tratando de hacer algo que no debería ser posible?

Respuesta

1

Debe configurar el reenvío de puertos en su enrutador. Quizás alguien en ServerFault o SuperUser pueda ayudarlo. O incluso una búsqueda en Google ahora que sabes cómo se llama. Las instrucciones serán diferentes dependiendo del enrutador. El puerto que necesita reenviar será el puerto que seleccionó en el archivo de configuración de WCF.

0

Recibo servicios de WCF a través de IIS, pero me llevó años averiguar cómo. Por el momento, coloco los archivos en el servidor web y habilito la compartición web en la carpeta raíz. Luego puede asignarlos a un grupo de aplicaciones apropiado en IIS y agregar una referencia de servicio a cualquier proyecto de cliente utilizando la URL del wsdl.

No estoy seguro de si esta es la mejor manera de hacerlo, pero es la única forma en que he trabajado hasta ahora.

2

Si desea que los usuarios de Internet puedan conectarse a su servicio, usted tiene que considerar algunos puntos:

  • vinculante: el mínimo común denominador es la basicHttpBinding que es SOAP 1.1 básicamente no hay funciones adicionales disponibles, al igual que los servicios web ASMX. Casi cualquier persona puede conectarse a eso. Para clientes más avanzados, es posible que también desee exponer un punto final wsHttpBinding en su servicio

  • seguridad: ¿cómo (si es que lo hace) quiere asegurar el acceso a su servicio web? ¿Tiene credenciales de nombre de usuario/contraseña que las personas que llaman deben suministrar? Consulte el WCF Security Guidance para obtener una gran cantidad de bits de información sobre los diversos escenarios de seguridad

  • autentificación de su servicio: por lo general, debe esforzarse por hacer que su servicio se autentique en el resto del mundo; esto requiere un certificado de servidor y habilita comunicación segura (cifrada mensajes firmados +) en el cable

  • asegurarse de que su punto final (s) de servicio es accesible desde internet, a través de todos los firewalls y servidores proxy y todo :-)

Esperamos que ayuda ¡un poco!

0

Aquí está la solución simple.

  1. Supongo que ha creado una aplicación WCF que funciona y se ha alojado en IIS.

  2. Lo siguiente que debe hacer es buscar la aplicación desde el IIS.Le dará url en la barra de direcciones algo así como: http://localhost/myservice/service.svc

  3. Luego vaya a www.whatismyip.com. esto le dará la IP WAN de su sistema (por ejemplo, 45.34.56.200).

  4. reemplazar la URL que tienes en el paso 2 con: http://45.34.56.200/myservice/service.svc

  5. Ahora puede utilizar esta URL en cualquier lugar en este mundo para consumir su servicio.

0

He encontrado un buen artículo y que está trabajando muy bien para mí, en los siguientes pasos principales:

1-En primer lugar, debe crear el servicio WCF.

2-agregue la aplicación en IIS y proporcione un alias para su directorio virtual y configure la ruta desde su unidad local.

3-Asegúrese de que su conjunto de aplicaciones predeterminado esté configurado en .NET CLR V4.0.

4-prueba su servicio WCF se está ejecutando correctamente en localhost.

5-Para acceder a la misma a través de LAN (red de área local) debe desactivar el cortafuegos para su red privada.

6- intente utilizar ngrok.com, obtendrá la URL temporal para usar a través de Internet para acceder a su LocalHost en cualquier lugar.

Para Más Información Verificar el siguiente enlace:

https://www.codeproject.com/Tips/813650/Host-WCF-on-LocalHost-and-access-via-Internet

Cuestiones relacionadas