web-dev-qa-db-de.com

Was ist ein "Endpunkt" in WCF?

Ich hatte den Eindruck, dass ein Endpunkt in einer config-Datei als Liste der möglichen Clients definiert wurde, aber das macht keinen Sinn (in dem Sinne, dass ich davon ausging, welche Computer mit dem Dienst verbunden werden könnten). Jetzt sammle ich, dass es mehr ist von einer Definition, also würde jemand bitte erklären, was ein Endpunkt für mich ist? Ich verstehe das Konzept, die Vertragsschnittstelle zu definieren und dann den Vertrag umzusetzen, aber ich verliere mich irgendwo dazwischen und habe tatsächlich etwas Nutzbares.

Was ist eine Adresse in diesem Zusammenhang? die Hostadresse?

Eine Bindung ist die Kommunikationsmethode/das zu verwendende Protokoll korrekt?

der Vertrag ist im Wesentlichen das "Objekt, das geteilt wird" (ja, ich weiß, dass das technisch so unkorrekt ist, aber ich arbeite hier mit mir)

50
Firoso

Ein Endpunkt ist das, was ein Dienst verfügbar macht und in WCF-Formaten aus drei Dingen besteht:

  • Adresse
  • Bindung
  • Vertrag

Adresse ist die URL, über die der Endpunkt erreicht werden kann.

Die Bindung bestimmt die angewendeten Transformationen sowie die Form (bis zu einem gewissen Grad) der an die Adresse des Vertrags gesendeten Nachrichten.

Der Vertrag legt fest, welche Vorgänge an der Adresse angezeigt werden. Es ist genau das, was es sagt, es ist ein Vertrag, um anzugeben, welche Anrufe zulässig sind.

Die meisten Leute erinnern sich daran als A B C.

Einige Dinge zu beachten:

Die Bindung besteht in der Regel aus einer Kombination von Kanälen mit angewendeten Verhaltensweisen. Channels sind Elemente auf dem Channel-Stack, die die Nachricht ändern und Aktionen ausführen, bevor sie zur Service-Implementierung gelangen.

In der Regel wird sie durch eine Schnittstelle in .NET dargestellt. Es ist jedoch nicht erforderlich, dass ein Vertrag auf diese Weise dargestellt wird. Einige Verfechter der ersten Entwurfsanforderung definieren zunächst die Schemas der Nachrichten, die für die Anforderung und die Antwort gesendet werden sollen. WCF wandelt die .NET Contract-Schnittstelle in WCF um.

70
casperOne

Ich zitiere Juval Lowys WCF Services programmieren hier:

Jedem Dienst ist eine Adresse zugeordnet, die definiert, wo die Dienst ist eine Bindung, die definiert, wie mit dem .__ kommuniziert wird. Dienst und einen Vertrag, der definiert, was der Dienst tut. Diese Ein Triumvirat, das den Dienst regelt, ist als ABC von .__ leicht zu merken. der Service. 

Die WCF formalisiert diese Beziehung in Form eines Endpunkts. Das Endpunkt ist die Verschmelzung von Adresse, Vertrag und Verbindlichkeit.

Jeder Endpunkt muss alle drei Elemente enthalten, und der Host macht das .__ verfügbar. Endpunkt.

17
draconis

Endpunkte in der WCF 
Der WCF-Dienst ist ein Programm, das eine Sammlung von Endpunkten bereitstellt. Jeder Endpunkt ist ein Portal für die Kommunikation mit der Welt. Der Endpunkt besteht aus drei Komponenten.
1) Adresse:
Legt fest, wo sich ein Dienst befindet
ex - http://www.test.com:8001/MyService
2) Bindungen:
Eine Bindung, die angibt, wie ein Client mit dem Endpunkt kommunizieren kann. 
ex - BasicHttpBinding, WSHttpBinding, WSDualHttpBinding etc
3) Verträge:
Ein Vertrag, der die verfügbaren Vorgänge identifiziert

Endpunkte werden in der Datei web.config des erstellten Dienstes angegeben.

12
DOTNET Team

Ein Service-Endpunkt hat eine Adresse, eine Bindung und einen Vertrag. Die Adresse des Endpunkts ist eine Netzwerkadresse, an der sich der Endpunkt befindet. Die EndpointAddress-Klasse stellt eine WCF-Endpunktadresse dar. Die Endpunktbindung gibt an, wie der Endpunkt mit der Welt kommuniziert, einschließlich Transportprotokoll (z. B. TCP, HTTP), Codierung (z. B. Text, Binär) und Sicherheitsanforderungen (z , SSL, SOAP Nachrichtensicherheit). Die Binding-Klasse stellt eine WCF-Bindung dar. Der Endpunktvertrag legt fest, was der Endpunkt kommuniziert, und besteht im Wesentlichen aus einer Sammlung von Nachrichten, die in Vorgängen organisiert sind, die über grundlegende Austauschmuster (Message Exchange Patterns, MEPs) verfügen, z . Die ContractDescription-Klasse stellt einen WCF-Vertrag dar.

5
user2336872

Siehe hier: Ein Service-Endpunkt gibt eine Adresse, eine Bindung und einen Vertrag für die Kommunikation an.

3
Otávio Décio

Ein Serviceendpunkt verfügt über eine Adresse, eine Bindung und einen Vertrag. Die Adresse des Endpunkts ist eine Netzwerkadresse, in der sich der Endpunkt befindet. Die EndpointAddress-Klasse repräsentiert eine WCF-Endpunktadresse. Die Bindung des Endpunkts gibt an, wie der Endpunkt mit der Welt kommuniziert, einschließlich Transportprotokoll (z. B. TCP, HTTP), Codierung (z. B. Text, binär) und Sicherheitsanforderungen (z. B. SSL, SOAP). Die Binding-Klasse repräsentiert eine WCF-Bindung. Der Vertrag des Endpunkts gibt an, was der Endpunkt kommuniziert, und ist im Wesentlichen eine Sammlung von Nachrichten, die in Vorgängen organisiert sind, die über grundlegende Austauschmuster (Message Exchange Patterns, MEPs) verfügen, z. Die ContractDescription-Klasse stellt einen WCF-Vertrag dar.

1
sdd

Ein Web-Service-Endpunkt kann einige oder alle davon ausblenden. Und auf Anfrage kann intern die Bearbeitung der Anfrage entscheiden.

Das SRJTester-Tool (verfügbar auf Github) ist Nizza, um Endpunkte, Aktionen, Protokolle usw. anzugeben, während Sie eine Serviceanfrage stellen.

0
SRJTester