Ich versuche, mehrere Service-Fabric-Dienste innerhalb einer einzigen Exe (ServiceRuntime.RegisterServiceAsync) zu registrieren. Wird das unterstützt? Wenn ja, wie würde ich sie konfigurieren?Service Fabric: sind in ServiceManifest.xml mehrere Service-Typen erlaubt
ZB: unterstützt ServiceManifest.xml mehrere StatelessServiceType Elemente innerhalb ServiceTypes:
<?xml version="1.0" encoding="utf-8"?>
<ServiceManifest Name="EchoGatewayPkg"
Version="1.0.0"
xmlns="http://schemas.microsoft.com/2011/01/fabric"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ServiceTypes>
<StatelessServiceType ServiceTypeName="Service1Type" >
</StatelessServiceType>
<StatelessServiceType ServiceTypeName="Service2Type" >
</StatelessServiceType>
</ServiceTypes>
...
und ApplicationManifest.xml unterstützt nicht mehrere StatelessService Elemente innerhalb DefaultServices/Service:
<?xml version="1.0" encoding="utf-8"?>
<ApplicationManifest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ApplicationTypeName="EchoServiceType" ApplicationTypeVersion="1.0.0" xmlns="http://schemas.microsoft.com/2011/01/fabric">
<Parameters>
<Parameter Name="Service1_InstanceCount" DefaultValue="1" />
<Parameter Name="Service2_InstanceCount" DefaultValue="1" />
</Parameters>
<ServiceManifestImport>
<ServiceManifestRef ServiceManifestName="MyServicePkg" ServiceManifestVersion="1.0.0" />
<ConfigOverrides />
</ServiceManifestImport>
<DefaultServices>
<Service Name="MyService1">
<StatelessService ServiceTypeName="Service1Type" InstanceCount="[Service1_InstanceCount]">
<SingletonPartition />
</StatelessService>
</Service>
<Service Name="MyService2">
<StatelessService ServiceTypeName="Service2Type" InstanceCount="[Service2_InstanceCount]">
<SingletonPartition />
</StatelessService>
</Service>
</DefaultServices>
</ApplicationManifest>
, daher ist diese effektiv Spawns 2 Prozesse, und der Aktivierungskontext jedes Prozesses hat beide Standard-Servicetypen aufgelistet (ich hätte nur einen mit dieser Konfiguration erwartet).
Alle Vorschläge (zum Konfigurieren mehrerer Servicetypen innerhalb einer einzelnen Exe) oder Erläuterungen sind willkommen.
Wollen Sie wirklich, dies zu tun? Ich habe vor ein paar Monaten darüber nachgedacht, das selbst zu machen, aber dann habe ich mich an Micro-Services und Single-Responsibility erinnert, so dass jeder Service nun in seine eigene ausführbare Datei geht. –