Red de conocimiento informático - Conocimiento informático - Cómo configurar un servicio WCF para net.tcp

Cómo configurar un servicio WCF para net.tcp

Primero, comencemos a escribir el lado del servidor (usando una aplicación de consola).

Dado que nuestro software es un programa pequeño que puede obtener nombres de estudiantes a través de ID de estudiantes, primero es necesario crear una clase de entidad StudentInfo:

En esta clase de entidad, DataContract representa contrato de datos , DataMeber representa miembros de datos y estos Atributos se pueden transmitir al cliente.

En esta clase de entidad, DataContract representa el contrato de datos y DataMeber representa los miembros de datos. Además, estas propiedades se pueden transmitir al cliente.

Luego hay una interfaz que define ServiceContract y OperationContract:

Luego está el método de implementación específico:

En este método, tenemos dos funciones, uno es obtener el nombre completo del estudiante según el punto del estudiante y el otro es obtener el EntityObject del estudiante según el punto del estudiante.

Bien, compilaremos este proyecto y generaremos el archivo WCFServiceGeneratedByConfig.exe.

Luego, necesitamos el archivo de configuración para iniciar el lado del servidor, así que aquí usaremos la herramienta WCF Service Configuration Editor

para hacer el trabajo, ya que está en VS2008 y VS2010. Este software viene con él, por lo que podemos abrirlo directamente a través del menú->Herramientas->Editor de configuración del servicio WCF.

Primero, haga clic en Archivo-gt; Nueva configuración para abrir la interfaz de configuración del servicio.

Luego, hacemos clic en Create a new service... (Crear un nuevo servicio...), en la interfaz emergente, seleccionamos el archivo WCFServiceGeneratedByConfig.exe recién generado. Después de hacer doble clic, el software mostrará automáticamente los servicios incluidos:

Haga clic en el servicio y luego haga clic dos veces en Siguiente. Veremos una interfaz para seleccionar el modo de comunicación. Aquí estamos usando net. tcp, así que elegí el primero:

Luego le damos a Siguiente, veremos que se nos pide elegir el modo de comunicación, así que elegí el primero: TCP.

A continuación, veremos que se debe completar EndPoint, aquí completé uno al azar:

Después de eso, haga clic en "Siguiente" hasta "Finalizar", de esta manera, nuestro La configuración más básica está completa.

Después de regresar a la interfaz de configuración, hacemos clic en Advanced-gt; Service Behavior-gt; para crear una nueva configuración de comportamiento del servicio, hacemos clic en add-gt; p>

Luego haga clic en agregar, hacemos clic en agregar.

Luego hacemos clic en Agregar y agregamos un elemento de comportamiento. Haga clic en el nodo serviceMetadata que acaba de generar y, en la interfaz emergente, configure HttpGetEnabled en verdadero.

Luego haga clic en el nodo Host debajo del nodo de servicio original y agregue la siguiente dirección base en Base:

Haga clic en Aceptar, luego haga clic en Archivo->Guardar como para guardar en la carpeta del proyecto.

El siguiente es el código generado:

Después de completar este paso, debemos habilitar el inicio del servicio. ¿Cómo iniciarlo? Mire el código a continuación:

Los comentarios en el código son muy importantes, debemos agregarlos; de lo contrario, no se pueden realizar los siguientes pasos. Por razones específicas, consulte mi otro artículo: In net. modo tcp, el archivo de clase de agente y el archivo de configuración son generados por SvcUtil.exe

Luego ejecute esta aplicación de consola.

A continuación, busque SvcUtil.exe, C:\Program Files\Microsoft SDKs \Windows\v7 .0A\bin\SvcUtil.exe y ejecute el siguiente comando en la ventana CMD:

C:\Program Files\Microsoft SDKs\Windows\v7.0Abin\SvcUtil.exe net.tcp ://127.0 .0.1: 50001/StudentServiceEndPoint

De esta manera, el gadget generará automáticamente clases de proxy y archivos de configuración

Herramienta de metadatos del modelo de servicio de Microsoft (R)

[Microsoft (R) Windows (R) Communication Foundation, versión 3.0.4506.2152]

Copyright (c) Microsoft Corporation. Reservados todos los derechos.

Intente utilizar WS-Metadata Exchange para descargar metadatos desde "net.tcp://127.0.0.1:50001/StudentServiceEndPoint". Esta URL no es compatible con DISCO.

Generando documentación...

E:\WCF\WCF_ChatRoom\StudentService.cs

E:\WCF\WCF_ChatRoom\output.config

Presione cualquier tecla para continuar. .

A continuación, cree un nuevo programa WindowsFormsApplication, copie esta clase de proxy en él y copie el archivo de configuración cambiándole el nombre a App.config.

Luego arrastre un cuadro de texto, un botón y un DataGridView a Form1.cs. El código de fondo es el siguiente:

Inicie esta instancia, ingrese la identificación del estudiante y lo obtendremos exitosamente. el valor de retorno del servidor.

¿Entonces podemos usarlo en la red pública? Ah, por supuesto que puede copiar el servidor a una máquina en la red externa y luego cambiar la dirección en el archivo de configuración del servidor a: net.tcp://169.*.*.124:50001/StudentServiceEndPoint, y luego. Modifique la dirección en el archivo de configuración local a esto y finalmente ejecútelo, y aún podrá obtener los resultados devueltos.