Rahmenvertrag Muster dienstleistung

Beim Entwerfen Ihres Vertrags müssen Sie auch die Nachrichtenschutzstufe der Dienste festlegen, die Ihren Vertrag implementieren. Dies ist nur erforderlich, wenn die Nachrichtensicherheit auf die Bindung im Endpunkt des Vertrags angewendet wird. Wenn die Sicherheit deaktiviert ist (d. h. wenn die vom System bereitgestellte Bindung die System.ServiceModel.SecurityMode auf den Wert SecurityMode.None festlegt), müssen Sie sich nicht für die Nachrichtenschutzstufe für den Vertrag entscheiden. In den meisten Fällen bieten systembezogene Bindungen mit angewendeter Sicherheit auf Nachrichtenebene ein ausreichendes Schutzniveau, und Sie müssen nicht die Schutzstufe für jeden Vorgang oder jede Nachricht berücksichtigen. Ein Beispiel für die Verwendung einer Schnittstelle zum Erstellen eines Servicevertrags finden Sie unter Gewusst wie: Erstellen eines Dienstes mit einer Vertragsschnittstelle. Bei der Interaktion mit einer ISampleService-Implementierung in einem Endpunkt mit einer Standard-WSHttpBinding (standardsystem.ServiceModel.SecurityMode, d. h.

Message) werden alle Nachrichten verschlüsselt und signiert, da dies die Standardschutzebene ist. Wenn jedoch ein ISampleService-Dienst mit einer Standard-BasicHttpBinding (der Standard-SecurityMode, d. h. Keine) verwendet wird, werden alle Nachrichten als Text gesendet, da keine Sicherheit für diese Bindung besteht und daher die Schutzebene ignoriert wird (d. h., die Nachrichten werden weder verschlüsselt noch signiert). Wenn der SecurityMode in Nachricht geändert wurde, werden diese Nachrichten verschlüsselt und signiert (da dies jetzt die Standardschutzebene der Bindung wäre). Im folgenden Codebeispiel wird z. B.

weder die ProtectionLevel- noch die ProtectionLevel-Eigenschaft im Vertrag festgelegt. Ein Duplexmuster zeichnet sich durch die Fähigkeit des Dienstes und des Clients aus, Nachrichten unabhängig voneinander zu senden, unabhängig davon, ob es sich um einnurbsames oder einweg-/antwort-Messaging handelt. Diese Form der zweiseitigen Kommunikation ist nützlich für Dienste, die direkt mit dem Client kommunizieren müssen, oder für die Bereitstellung einer asynchronen Erfahrung auf beiden Seiten eines Nachrichtenaustauschs, einschließlich ereignisähnlichen Verhaltens. Wenn der Client einer WCF-Dienstanwendung nicht warten soll, bis der Vorgang abgeschlossen ist, und keine SOAP-Fehler verarbeitet, kann der Vorgang ein einseitiges Nachrichtenmuster angeben.