Konfiguration (Referenz)
Gilt für die Version 0.2.1. Die Einstellungen stehen in der Konfiguration der Anwendung im Abschnitt
GatewayClient (GatewayClientOptions.SectionName) und werden beim Start der Anwendung geprüft.
Verletzt eine Einstellung die Regel in der Spalte „Gültig“, startet die Anwendung nicht, und die
Meldung nennt jede verletzte Einstellung.
| Einstellung | Voreinstellung | Gültig | Bedeutung |
|---|---|---|---|
BaseAddress | – | Pflicht; absolute Adresse mit https, mit http (ab 0.3.0) nur für den eigenen Rechner (localhost, 127.0.0.1, ::1) | Adresse des Dienstes. Über http an einen anderen Rechner ginge der Schlüssel unverschlüsselt über das Netz; der Client lehnt das beim Start ab und sendet auch später keine solche Anfrage. Liegt der Dienst unter einem Pfad (https://server/datendienst), ergänzt der Client den abschließenden Schrägstrich selbst |
ApiKeyEnvironmentVariable | WKL_GATEWAY_API_KEY | nicht leer | Name der Umgebungsvariablen, die den Schlüssel trägt |
ApiKeyHeader | X-Api-Key | nicht leer | Kopfzeile des Schlüssels; muss zu Gateway:Security:ApiKeyHeader des Dienstes passen |
CorrelationHeader | X-Request-Id | nicht leer | Kopfzeile der Korrelationskennung; muss zu der Kopfzeile passen, die der Dienst liest (dort Vorgabe ebenfalls X-Request-Id), sonst vergibt der Dienst eine eigene Kennung |
ReadTimeout | 15 s | größer als null, höchstens 5 min | Zeitgrenze beim Lesen (ReadAsync) |
WriteTimeout | 30 s | größer als null, höchstens 5 min | Zeitgrenze beim Prozeduraufruf (InvokeAsync). Der Name sagt „Schreiben“, weil ein Prozeduraufruf der Weg ist, auf dem der Client schreibt; er gilt aber für jeden Aufruf, auch einer Prozedur, die nur liest |
MaxResponseBytes | 32 MiB | größer als null | Größte Antwort, die gelesen wird; eine größere endet mit LimitExceeded, wenn der Dienst die Länge vorab nennt; sonst bricht das Lesen bei der Grenze ab und endet mit Unavailable |
MaxUrlLength | 2 000 | nicht negativ | Längste Adresse, in der eine Leseanfrage reist. Eine längere geht als POST …/$query mit den Optionen im Rumpf; 0 schickt jede Leseanfrage mit Optionen so. Die Voreinstellung folgt der kleinsten verbreiteten Grenze (IIS nimmt in der Vorgabe höchstens 2 048 Bytes Abfragezeichenfolge an), weil der Client nicht weiß, welcher Host vor dem Dienst steht |
Zeitgrenzen des Clients und des Dienstes. Der Dienst bricht eine Anweisung nach seiner eigenen
Zeitgrenze ab (Vorgabe 30 s) und meldet TimedOut. Ist die Zeitgrenze des Clients kürzer – beim
Lesen in der Voreinstellung –, hört der Client vorher auf zu warten und meldet Unavailable; die
Anweisung läuft im Dienst weiter, bis sie fertig ist oder abgebrochen wird. Wer lange Leseanfragen
erwartet, setzt ReadTimeout etwas über die Zeitgrenze des Dienstes.
Der Schlüssel selbst ist keine Einstellung. Konfiguriert wird nur der Name der Umgebungsvariablen; der Wert wird je Anfrage gelesen und nirgends festgehalten. Ein Schlüssel in einer Konfigurationsdatei ist ein Schlüssel im Repository, im Container-Abbild und in jeder Sicherung von beidem.
Bezugsquelle. Das Paket Wkl.Data.Gateway.Client erhalten Sie zusammen mit dem Datendienst aus
der Paketquelle Ihres Anbieters; auf nuget.org liegt es nicht. Es bringt das Vertragspaket
Wkl.Data.Gateway.Contracts 0.6.0 als Abhängigkeit mit; beide gehören in dieselbe Paketquelle.
Diese Dokumentation beschreibt den Client gegen einen Datendienst mit Vertrag 0.6.0. Ein älterer
Dienst beantwortet Lesen und Aufrufen ebenso; was erst spätere Vertragsversionen bringen, fehlt
dann (siehe Änderungen).