2016-03-28 3 views
0

Ich habe verschiedene Versuche zum Platzieren von zwei oder mehr Websites (URLs) in einer Azure Cloud Service-Webrolle gesehen. Die Lösung ist im Grunde, die ServiceDefinitions.csdef Datei zu hacken, die ein bisschen übertrieben ist und nicht von Visual Studio unterstützt wird (VS zwingt Sie, eine Dummy - 'Master' Rolle zu haben und Ihre Webseiten manuell in die Konfigurationsdatei Dies ist eine große rote Flagge, dass die Architektur mehrerer Websites in einer einzelnen Rolle von Azure nicht erwartet wird.)Azure-Webrolle mit mehreren Schnittstellen/Endpunkten

Anstatt die Konfigurationsdatei zu hacken, ist es möglich, mehrere Endpunkte zu erstellen und sie mit Schnittstellen zu verknüpfen Wie mit WCF? Wie ich in meinem Original question erwähnt habe, habe ich drei Möglichkeiten, wie die Benutzer eine Verbindung zu einer Azure-Rolle herstellen können: eine für das Datenmodell (CRUD-Operationen), eine für die Bedienerkonsole (Start, Stopp, Statistik usw.). eine für die benutzerdefinierten Funktionen (die Website sollte erweiterbar sein). Ich möchte einen separaten Endpunkt für jede dieser Hauptfunktionsgruppen (dh gut definierte Schnittstellen). Es ist trivial, in WCF zu tun, aber ich sehe nicht, wie es in Azure gemacht wird.

+0

Sie scheinen wirklich auf den Begriff "Hack" fixiert zu sein, wie Sie den Begriff sowohl in Ihrer anderen Frage als auch in diesem propagieren - Webrollen und ihre zugehörigen csdef Definitionsdateien gibt es seit etwa 6 Jahren, mit einem sehr gut dokumentiertes Schema. Es gibt * no * hack - das ist die Konfigurationsdatei, die Sie bearbeiten (genau wie Sie eine andere Konfigurationsdatei bearbeiten). –

Antwort

0

Webrollen unterstützen bis zu 25 Eingabeendpunkte pro Bereitstellung, sodass Sie mehrere Dienste in derselben Rolle hosten können (unabhängig von der Instanzanzahl), indem Sie Ihren Dienst so einrichten, dass er auf einem bestimmten zuvor erstellten Endpunkt wartet Zeit (es ist Teil der Service-Definition).

Beim Skalieren auf mehrere Instanzen werden die Eingabeendpunkte ebenfalls über die Rolleninstanzen verteilt.

+0

Die Verbindung, die ich noch nicht konnte, ist, wie diese Endpunkte mit einer Schnittstelle verbunden sind. In WCF stellen Sie die Verknüpfung mit dem Element in der Web.Config her. Deklariere ich Tags in der Datei ServiceDefinitions.csdef, um die Ports zuzuweisen und sie dann normal in der Datei Web.Config zu konfigurieren? –