c# wcf wsdl mex

c# - Cuál fue la diferencia entre WSDL y Mex Endpoint en WCF



(2)

Tengo un par de preguntas sobre el punto final de mex.

  1. En servicios web heredados, creamos un proxy usando wsdl. WSDL expone los metadatos del servicio web. En wcf, otro término viene ese punto final mex, que también expone metadatos, pero wsdl todavía está vivo en wcf. Soy nuevo en wcf, y estoy confundido con respecto a la difference between wsdl & mex endpoint ?

  2. ¿Cuál es el significado de httpGetEnabled="false" or httpGetEnabled="true" ?

  3. Si configuro httpGetEnabled="false" , ¿qué pasará? ¿Significa que el cliente no podrá agregar la referencia de servicio desde su IDE? Pero si configuro httpGetEnabled="false" , y vi que el cliente puede agregar una referencia de servicio. Lo que hace la configuración httpGetEnabled es muy confuso.

  4. Un hombre dijo

MEX y WSDL son dos esquemas diferentes para informar a los clientes potenciales sobre la estructura de su servicio. Por lo tanto, puede optar por hacer que sus contratos de servicio sean públicos como (MEX) o WSDL.

Si la declaración anterior es verdadera, dígame cuándo usar MEX y cuándo usar WSDL?

  1. ¿Cómo puedo desactivar Mex y exponer mi servicio solo a través de WSDL?

  2. WSDL support all bidning like wshttp,wsdualhttp or tcp etc... Si es posible, hable de wsdl & mex en detalle.

ACTUALIZAR

Tu dijiste

5. How can I disable mex and expose my service only through WSDL? Do not specifiy a mex endpoint in your config and use httpGetEnabled.

¿Estás tratando de decir que no debería haber entrada relacionada con el punto final mex en config y que httpgetenable se vería así?

<serviceMetadata httpGetEnabled="true" httpGetUrl="http://localhost:8080/SampleService?wsdl"/>

Tu dijiste

Un WSDL generalmente se expone a través de URL http o https get que realmente no se pueden configurar (por ejemplo, por limitaciones de seguridad o por compatibilidad con versiones anteriores). Los puntos finales MEX exponen metadatos sobre puntos finales configurables y pueden usar diferentes tipos de transportes, como TCP o HTTP, y diferentes tipos de mecanismos de seguridad.

Dijiste que mex es configurable, pero el wsdl no lo es. ¿Qué quieres decir con mex is configurable ? Por favor, discuta qué tipo de configuración mex soporte y cómo se puede configurar.

Si configuro httpGetEnabled="false" then the WSDL ¿no será posible generar httpGetEnabled="false" then the WSDL ?


1) en el servicio web heredado, creamos un proxy usando wsdl. WSDL expone los metadatos del servicio web. en wcf otro término viene ese punto final mex que también expone metadatos pero wsdl todavía está vivo en wcf.i soy nuevo en wcf por lo tanto, estoy confundiendo cuál es la diferencia entre wsdl y mex endpoint?

Es casi lo mismo, pero Mex está diseñado para admitir protocolos que no sean HTTP y escenarios de configuración / seguridad avanzados. WSDL es la forma heredada y MEX es la nueva versión mejorada con WCF.

2) ¿Cuál es el significado de httpGetEnabled = "false" o httpGetEnabled = "true"

Expondrá los metadatos a través de wsdl a través de la url predeterminada, incluso si no ha definido un punto final mex para su servicio.

3) si configuro httpGetEnabled = "false", ¿qué pasará? ¿significa que el cliente no podrá agregar la referencia de servicio de IDE? pero establecí httpGetEnabled = "false" y vi que el cliente puede agregar una referencia de servicio. entonces, para mí es muy confuso que lo que httpGetEnabled es falso o verdadero hace?

Un cliente puede agregar una referencia en VS solo si habilita httpGetEnabled / httpsGetEnabled o si ha definido un punto final mex en la configuración de su servicio. La mejor práctica es exponer los metadatos en el entorno del desarrollador pero no en la producción. También puede distribuir sus contratos de servicio a través de ensamblajes separados y usar ChannelFactory .

4) un tipo dijo: - MEX y WSDL son dos esquemas diferentes para informar a los clientes potenciales sobre la estructura de su servicio. Por lo tanto, puede optar por hacer que sus contratos de servicio sean públicos como (MEX) o WSDL. Si la afirmación anterior es verdadera, dígame cuándo usar MEX y cuándo usar WSDL.

Un WSDL generalmente se expone a través de URL http o https get que realmente no se pueden configurar (por ejemplo, por limitaciones de seguridad o por compatibilidad con versiones anteriores). Los puntos finales MEX exponen metadatos sobre puntos finales configurables y pueden usar diferentes tipos de transportes, como TCP o HTTP, y diferentes tipos de mecanismos de seguridad.

Por lo tanto, MEX es más configurable, mientras que WSDL es más interoperable con versiones anteriores de clientes y clientes que no son de.net que trabajan con WSDL.

5) ¿Cómo puedo desactivar Mex y exponer mi servicio solo a través de WSDL?

No especifique un punto final mex en su configuración y use httpGetEnabled

6) WSDL admite todas las ofertas como wshttp, wsdualhttp o tcp, etc.

La exposición de metadatos es totalmente diferente a la invocación del servicio.

ACTUALIZAR

Si intentas decir que no debería haber entrada relacionada con el punto final mex en config y que httpgetenable se vería como

Sí, no es necesario que especifique un punto final mex AND Y httpGetEnabled. Solo se requiere uno para exponer los metadatos. No especifique httpGetUrl ya que esto depende de su entorno de alojamiento.

dijiste que mex es configurable pero wsdl no lo es. lo que está tratando de decir significa que Mex es configurable ... por favor, discuta qué tipo de configuración mex soporte y cómo configurarlo.

Los puntos finales MEX son puntos finales especiales que permiten a los clientes recibir los metadatos del servicio mediante el uso de mensajes SOAP en lugar de solicitudes de obtención de http. Puede crear un punto final MEX al que se pueda acceder a través de http, https, tcp e incluso los conductos con nombre. HttpGetEnable le permite exponer metadatos a través del método HTTP GET, generalmente la dirección del servicio con el sufijo ''? Wsdl''

MEX y WSDL producen casi lo mismo.

En la mayoría de los casos, no hay necesidad de un punto final MEX, el uso de WSDL con http get suele ser suficiente.

Entiendo tu intención de comprender esta parte, pero no la utilices muchas veces para esto: ¡hay muchas otras funciones complicadas!


Los puntos finales MEX son puntos finales especiales que permiten a los clientes recibir los metadatos del servicio mediante el uso de mensajes SOAP en lugar de únicamente solicitudes de obtención de http (es decir, httpGetEnabled = "true"). Puede crear un punto final MEX al que se pueda acceder a través de http, https, tcp e incluso los conductos con nombre.

La respuesta que recibirá al llamar a la operación GetMetadata de un punto extremo MEX incluirá el contenido del WSDL y todos los archivos XSD que están vinculados a él.