Was ist "mexHttpBinding" in WCF? Wann sollte diese Bindung gegenüber anderen Bindungen bevorzugt verwendet werden?
Was ist "mexHttpBinding" in WCF? Wann sollte diese Bindung gegenüber anderen Bindungen bevorzugt verwendet werden?
Antworten:
IMetadataExchange
- das ist der entscheidende Faktor. Es ist ein Systemvertrag, den WCF für den Metadatenaustausch bereitstellt. Die Adresse ist völlig irrelevant, "mex" ist nur eine häufig verwendete Best Practice, aber keineswegs eine Anforderung
mexHTTPBinding ermöglicht die Verwendung von WS-MetadataExchange über HTTP. Sie benötigen es nur, wenn Sie Richtlinien implementiert haben, die sich im Laufe der Zeit ändern können, und Sie Ihren Dienst beispielsweise mit UDDI ermitteln müssen
Viele Leute sagen, dass es für die Erstellung clientseitiger Proxys erforderlich ist. Das ist nicht wahr. Für clientseitige Proxys müssen Sie WSDL veröffentlichen. Sie können dies tun, indem Sie in Ihrem Serviceverhalten angeben.
Kurz, du weißt es nicht -> du brauchst es nicht.
mexHttpBinding wird beim Hinzufügen einer neuen Dienstreferenz in einem Projekt in Visual Studio 2013 (DEBUG) verwendet, die Ihren WebService verbraucht (Bereitstellung der mexHttpBinding). Nachdem Sie die Dienstreferenz erfolgreich hinzugefügt haben, können Sie die mexHttpBinding deaktivieren.
Dies alles wird in der App.config beschrieben, wenn Sie ein WCF-Servicebibliotheksprojekt in Visual Studio 2013 erstellen (Lösung >> Neues Projekt hinzufügen >> Visual C # >> WCF >> WCF-Servicebibliothek).