Aracılığıyla paylaş


Güvenilir hizmetler uygulaması ve hizmet bildirimi örnekleri

Aşağıda, ASP.NET Core web ön ucu ve durum bilgisi olan arka ucu olan service Fabric uygulaması için uygulama ve hizmet bildirimleri örnekleri verilmiştir. Bu örneklerin amacı, hangi ayarların kullanılabilir olduğunu ve bunların nasıl kullanılacağını göstermektir. Bu uygulama ve hizmet bildirimleri Service Fabric .NET Hızlı Başlangıç bildirimlerini temel alır.

Aşağıdaki özellikler gösterilir:

Bildirim Özellikler
Uygulama bildirimi kaynak idaresi, bir hizmeti yerel yönetici hesabı olarak çalıştırma, tüm hizmet kodu paketlerine varsayılan ilke uygulama, kullanıcı ve grup sorumluları oluşturma, hizmet örnekleri arasında veri paketi paylaşma, hizmet uç noktalarını geçersiz kılma
FrontEndService hizmet bildirimi Hizmet başlangıcında betik çalıştırma, HTTPS uç noktası tanımlama
BackEndService hizmet bildirimi Yapılandırma paketi bildirme, veri paketi bildirme, uç nokta yapılandırma

Belirli XML öğeleri hakkında daha fazla bilgi için bkz . Uygulama bildirim öğeleri, VotingWeb hizmet bildirimi öğeleri ve VotingData hizmet bildirimi öğeleri .

Uygulama bildirimi

<?xml version="1.0" encoding="utf-8"?>
<ApplicationManifest xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" ApplicationTypeName="VotingType" ApplicationTypeVersion="1.0.0" xmlns="http://schemas.microsoft.com/2011/01/fabric">
  <Parameters>
    <Parameter Name="VotingData_MinReplicaSetSize" DefaultValue="3" />
    <Parameter Name="VotingData_PartitionCount" DefaultValue="1" />
    <Parameter Name="VotingData_TargetReplicaSetSize" DefaultValue="3" />
    <Parameter Name="VotingWeb_InstanceCount" DefaultValue="-1" />
    <Parameter Name="CpuCores" DefaultValue="2" />
    <Parameter Name="Memory" DefaultValue="4084" />
    <Parameter Name="BlockIOWeight" DefaultValue="200" />
    <Parameter Name="MaximumIOBandwidth" DefaultValue="1024" />
    <Parameter Name="MemoryReservationInMB" DefaultValue="1024" />
    <Parameter Name="MemorySwapInMB" DefaultValue="4084"/>
    <Parameter Name="Port" DefaultValue="8081" />
    <Parameter Name="Protocol" DefaultValue="tcp" />
    <Parameter Name="Type" DefaultValue="internal" />
  </Parameters>
  <!-- Import the ServiceManifest from the ServicePackage. The ServiceManifestName and ServiceManifestVersion 
       should match the Name and Version attributes of the ServiceManifest element defined in the 
       ServiceManifest.xml file. -->
  <ServiceManifestImport>
    <ServiceManifestRef ServiceManifestName="VotingDataPkg" ServiceManifestVersion="1.0.0" />
    <!-- Override endpoints declared in the service manifest. -->
    <ResourceOverrides>
      <Endpoints>
        <Endpoint Name="DataEndpoint" Port="[Port]" Protocol="[Protocol]" Type="[Type]" />
      </Endpoints>
    </ResourceOverrides>

    <!-- Policies to be applied to the imported service manifest. -->
    <Policies>
      
      <!-- Set resource governance at the service package level. -->
      <ServicePackageResourceGovernancePolicy CpuCores="[CpuCores]" MemoryInMB="[Memory]"/>

      <!-- Set resource governance at the code package level. -->
      <ResourceGovernancePolicy CodePackageRef="Code" CpuPercent="10" MemoryInMB="[Memory]" BlockIOWeight="[BlockIOWeight]" 
                                MaximumIOBandwidth="[MaximumIOBandwidth]" MaximumIOps="[MaximumIOps]" MemoryReservationInMB="[MemoryReservationInMB]" 
                                MemorySwapInMB="[MemorySwapInMB]"/>

      <!-- Share the data package across multiple instances of the VotingData service-->
      <PackageSharingPolicy PackageRef="Data"/>

      <!-- Give read rights on the "DataEndpoint" endpoint to the Customer2 account.-->
      <SecurityAccessPolicy GrantRights="Read" PrincipalRef="Customer2" ResourceRef="DataEndpoint" ResourceType="Endpoint"/>         
    </Policies>
  </ServiceManifestImport>
  
  <!-- Import the ServiceManifest from the ServicePackage. The ServiceManifestName and ServiceManifestVersion 
       should match the Name and Version attributes of the ServiceManifest element defined in the 
       ServiceManifest.xml file. -->
  <ServiceManifestImport>
    <ServiceManifestRef ServiceManifestName="VotingWebPkg" ServiceManifestVersion="1.0.0" />
    
    <!-- Policies to be applied to the imported service manifest. -->
    <Policies>
      <!-- Run the setup entry point (defined in the imported service manifest) as the SetupAdminUser account 
      (declared in the following Principals section). -->
      <RunAsPolicy CodePackageRef="Code" UserRef="SetupAdminUser" EntryPointType="Setup" />
      
    </Policies>

  </ServiceManifestImport>
  <DefaultServices>
    <!-- The section below creates instances of service types, when an instance of this 
         application type is created. You can also create one or more instances of service type using the 
         ServiceFabric PowerShell module.
         
         The attribute ServiceTypeName below must match the name defined in the imported ServiceManifest.xml file. -->
    <Service Name="VotingData">
      <StatefulService ServiceTypeName="VotingDataType" TargetReplicaSetSize="[VotingData_TargetReplicaSetSize]" MinReplicaSetSize="[VotingData_MinReplicaSetSize]">
        <UniformInt64Partition PartitionCount="[VotingData_PartitionCount]" LowKey="0" HighKey="25" />
      </StatefulService>
    </Service>
    <Service Name="VotingWeb" ServicePackageActivationMode="ExclusiveProcess">
      <StatelessService ServiceTypeName="VotingWebType" InstanceCount="[VotingWeb_InstanceCount]">
        <SingletonPartition />
      </StatelessService>
    </Service>
  </DefaultServices>
  <!-- Define users and groups required to run the services and access resources.  Principals are used in the Policies section(s). -->
  <Principals>
    <!-- Declare a set of groups as security principals, which can be referenced in policies. Groups are useful if there are multiple users 
    for different service entry points and they need to have certain common privileges that are available at the group level. -->
    <Groups>
      <!-- Create a group that has administrator privileges. -->
      <Group Name="LocalAdminGroup">
        <Membership>
          <SystemGroup Name="Administrators" />
        </Membership>
      </Group>
    </Groups>
    <Users>
      <!-- Declare a user and add the user to the Administrators system group. The SetupAdminUser account is used to run the 
      setup entry point of the VotingWebPkg code package (described in the preceding Policies section).-->
      <User Name="SetupAdminUser">
        <MemberOf>
          <SystemGroup Name="Administrators" />
        </MemberOf>
      </User>
      <!-- Create a user. Local user accounts are created on the machines where the application is deployed. By default, these accounts 
      do not have the same names as those specified here. Instead, they are dynamically generated and have random passwords. -->
      <User Name="Customer1" >
        <MemberOf>
          <!-- Add the user to the local administrators group.-->
          <Group NameRef="LocalAdminGroup" />
        </MemberOf>
      </User>
      <!-- Create a user as a local user with the specified account name and password. Local user accounts are created on the machines 
      where the application is deployed. -->
      <User Name="Customer2" AccountType="LocalUser" AccountName="Customer1" Password="MyPassword">
        <MemberOf>
          <!-- Add the user to the local administrators group.-->
          <Group NameRef="LocalAdminGroup" />
        </MemberOf>
      </User>
      <!-- Create a user as NetworkService. -->
      <User Name="MyDefaultAccount" AccountType="NetworkService" />      
    </Users>
  </Principals>
  <!-- Policies applied at the application level. -->
  <Policies>
    <!-- Specify a default user account for all code packages that don’t have a specific RunAsPolicy defined in 
    the ServiceManifestImport section(s). -->
    <DefaultRunAsPolicy UserRef="MyDefaultAccount" />
    
  </Policies>
</ApplicationManifest>

VotingWeb hizmet bildirimi

<?xml version="1.0" encoding="utf-8"?>
<ServiceManifest Name="VotingWebPkg"
                 Version="1.0.0"
                 xmlns="http://schemas.microsoft.com/2011/01/fabric"
                 xmlns:xsd="https://www.w3.org/2001/XMLSchema"
                 xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance">
  <ServiceTypes>
    <!-- This is the name of your ServiceType. 
         This name must match the string used in RegisterServiceType call in Program.cs. -->
    <StatelessServiceType ServiceTypeName="VotingWebType" />
  </ServiceTypes>

  <!-- Code package is your service executable. -->
  <CodePackage Name="Code" Version="1.0.0">
    <!-- A privileged entry point that by default runs with the same credentials as Service Fabric (typically the NetworkService account) before 
    any other entry point. Use the setup entry point to set system environment variables, give the account running the service (NETWORK SERVICE, by default) 
    access to a certificate's private key, or perform other setup tasks. In the application manifest, you can change the security permissions to run the startup script 
    under a local system account or an administrator account.  -->
    <SetupEntryPoint>
      <ExeHost>
        <!-- The setup script to run. -->
        <Program>Setup.bat</Program>
        <!-- Pass arguments to the script when it runs.-->
        <Arguments>MyValue</Arguments>
        <!-- The working directory for the process in the code package on the node where the application is deployed. CodePackage sets the working directory to be 
        the root of the code package regardless of where the EXE is defined in the code package directory. This is where the processes can write the data. Writing data 
        in the code package or code base is not recommended as those folders could be shared between different application instances and may get deleted.-->
        <WorkingFolder>CodePackage</WorkingFolder>
        <!-- Warning! Do not use console redirection in a production application, only use it for local development and debugging. Redirects console output from the startup
        script to an output file in the application folder called "log" on the cluster node where the application is deployed and run. Also set the number of output files
        to retain and the maximum file size (in KB). -->
        <ConsoleRedirection FileRetentionCount="10" FileMaxSizeInKb="20480"/>
      </ExeHost>
    </SetupEntryPoint>
    <EntryPoint>
      <ExeHost>
        <Program>VotingWeb.exe</Program>
        <!-- The working directory for the process in the code package on the node where the application is deployed. CodePackage sets the working directory to be 
        the root of the code package regardless of where the EXE is defined in the code package directory. This is where the processes can write the data. Writing data 
        in the code package or code base is not recommended as those folders could be shared between different application instances and may get deleted.-->
        <WorkingFolder>CodePackage</WorkingFolder>
      </ExeHost>
    </EntryPoint>
  </CodePackage>

  <!-- Config package is the contents of the Config directory under PackageRoot that contains an 
       independently-updateable and versioned set of custom configuration settings for your service. -->
  <ConfigPackage Name="Config" Version="1.0.0" />

  <Resources>
    <Endpoints>
      <!-- Configure a HTTPS endpoint on port 443. This endpoint is used by the communication listener to obtain the port on which to 
           listen. Please note that if your service is partitioned, this port is shared with 
           replicas of different partitions that are placed in your code. -->
      <Endpoint Protocol="https" Name="EndpointHttps" Type="Input" Port="443" />
    </Endpoints>
  </Resources>
</ServiceManifest>

VotingData hizmet bildirimi

<?xml version="1.0" encoding="utf-8"?>
<ServiceManifest Name="VotingDataPkg"
                 Version="1.0.0"
                 xmlns="http://schemas.microsoft.com/2011/01/fabric"
                 xmlns:xsd="https://www.w3.org/2001/XMLSchema"
                 xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance">
  <ServiceTypes>
    <!-- This is the name of your ServiceType. 
         This name must match the string used in RegisterServiceType call in Program.cs. -->
    <StatefulServiceType ServiceTypeName="VotingDataType"  HasPersistedState="true" />
  </ServiceTypes>

  <!-- Code package is your service executable. -->
  <CodePackage Name="Code" Version="1.0.0">
    <EntryPoint>
      <ExeHost>
        <Program>VotingData.exe</Program>
        <!-- The working directory for the process in the code package on the node where the application is deployed. CodePackage sets the working directory to be 
        the root of the code package regardless of where the EXE is defined in the code package directory. This is where the processes can write the data. Writing data 
        in the code package or code base is not recommended as those folders could be shared between different application instances and may get deleted.-->
        <WorkingFolder>CodePackage</WorkingFolder>
      </ExeHost>
    </EntryPoint>
  </CodePackage>

  <!-- Declares a folder, named by the Name attribute, under PackageRoot that contains a Settings.xml file. This file contains sections of user-defined, 
  key-value pair settings that the process can read back at run time. During an upgrade, if only the ConfigPackage version has changed, 
  then the running process is not restarted. Instead, a callback notifies the process that configuration settings have changed so they can be reloaded dynamically. -->
  <ConfigPackage Name="Config" Version="1.0.0" />
  
  <!-- Declares a folder, named by the Name attribute, under PackageRoot which contains static data files to be consumed by the process at run time. -->
  <DataPackage Name="Data" Version="1.0.0"/>

  <Resources>
    <Endpoints>
      <!-- Define an internal (used for intra-application communication) TCP endpoint. Since no port is specified, one is created and assigned dynamically
           to the service.-->
      <Endpoint Name="DataEndpoint" Protocol="tcp" Type="Internal" />
    </Endpoints>
  </Resources>

</ServiceManifest>

Uygulama bildirim öğeleri

ApplicationManifest Öğesi

Uygulama türünü ve sürümünü bildirimli olarak açıklar. Bir uygulama türü oluşturmak için bir veya daha fazla hizmet bildirimine başvurulur. Parametreli uygulama ayarları kullanılarak, kurucu hizmetlerin yapılandırma ayarları geçersiz kılınabilir. Varsayılan hizmetler, hizmet şablonları, sorumlular, ilkeler, tanılama kurulumu ve sertifikalar da uygulama düzeyinde bildirilebilir. Daha fazla bilgi için bkz. ApplicationManifest Öğesi

Parameters Öğesi

Bu uygulama bildiriminde kullanılan parametreleri bildirir. Bu parametrelerin değeri, uygulama örneği oluşturulurken sağlanabilir ve uygulama veya hizmet yapılandırma ayarlarını geçersiz kılmak için kullanılabilir. Daha fazla bilgi için bkz . Parameters Öğesi

Parameter Öğesi

Bu bildirimde kullanılacak bir uygulama parametresi. Parametre değeri uygulama örneği oluşturma sırasında değiştirilebilir veya değer sağlanmazsa varsayılan değer kullanılır. Daha fazla bilgi için bkz. Parametre Öğesi

ServiceManifestImport Öğesi

Hizmet geliştiricisi tarafından oluşturulan bir hizmet bildirimini içeri aktarır. Uygulamadaki her bir hizmet için bir hizmet bildirimi içeri aktarılmalıdır. Hizmet bildirimi için yapılandırma geçersiz kılmaları ve ilkeleri bildirilebilir. Daha fazla bilgi için bkz . ServiceManifestImport Öğesi

ServiceManifestRef Öğesi

Hizmet bildirimini başvuruya göre içeri aktarır. Şu anda hizmet bildirim dosyası (ServiceManifest.xml) derleme paketinde mevcut olmalıdır. Daha fazla bilgi için bkz. ServiceManifestRef Öğesi

ResourceOverrides Öğesi

Hizmet bildirimi kaynaklarında bildirilen uç noktalar için kaynak geçersiz kılmalarını belirtir. Daha fazla bilgi için bkz . ResourceOverrides Öğesi

Endpoints Öğesi

Geçersiz kılınacak uç noktalar. Daha fazla bilgi için bkz . Endpoints Öğesi

Endpoint Öğesi

Geçersiz kılınacak hizmet bildiriminde bildirilen uç nokta. Daha fazla bilgi için bkz . Endpoint Öğesi

İlkeler Öğesi

İçeri aktarılan hizmet bildirimine uygulanacak ilkeleri (uç nokta bağlaması, paket paylaşımı, farklı çalıştır ve güvenlik erişimi) açıklar. Daha fazla bilgi için bkz. İlkeler Öğesi

ServicePackageResourceGovernancePolicy Öğesi

Hizmet paketinin tamamı düzeyinde uygulanan kaynak idare ilkesini tanımlar. Daha fazla bilgi için bkz . ServicePackageResourceGovernancePolicy Öğesi

ResourceGovernancePolicy Öğesi

Kod paketi için kaynak sınırlarını belirtir. Daha fazla bilgi için bkz . ResourceGovernancePolicy Öğesi

PackageSharingPolicy Öğesi

Bir kodun, yapılandırmanın veya veri paketinin aynı hizmet türündeki hizmet örnekleri arasında paylaşılıp paylaşılmaması gerektiğini gösterir. Daha fazla bilgi için bkz . PackageSharingPolicy Öğesi

SecurityAccessPolicy Öğesi

Hizmet bildiriminde tanımlanan bir kaynaktaki sorumluya (uç nokta gibi) erişim izinleri verir. Genellikle, güvenlik risklerini en aza indirmek için hizmetlerin farklı kaynaklara erişimini denetlemek ve kısıtlamak çok yararlıdır. Uygulama, farklı geliştiriciler tarafından geliştirilen bir marketten alınan bir hizmet koleksiyonundan derlendiğinde bu özellikle önemlidir. Daha fazla bilgi için bkz . SecurityAccessPolicy Öğesi

RunAsPolicy Öğesi

Hizmet kodu paketinin çalıştırılacağı yerel kullanıcı veya yerel sistem hesabını belirtir. Etki alanı hesapları, Microsoft Entra Id'nin kullanılabildiği Windows Server dağıtımlarında desteklenir. Varsayılan olarak, uygulamalar Fabric.exe işleminin altında çalıştığı hesap altında çalışır. Uygulamalar, Sorumlular bölümünde bildirilmesi gereken diğer hesaplar olarak da çalıştırılabilir. Bir hizmete Bir RunAs ilkesi uygularsanız ve hizmet bildirimi uç nokta kaynaklarını HTTP protokolüyle bildirirse, bu uç noktalara ayrılan bağlantı noktalarının hizmetin altında çalıştığı RunAs kullanıcı hesabı için doğru erişim denetimi listelenmiş olduğundan emin olmak için bir SecurityAccessPolicy de belirtmeniz gerekir. HTTPS uç noktası için, istemciye döndürülecek sertifikanın adını belirtmek için bir EndpointBindingPolicy de tanımlamanız gerekir. Daha fazla bilgi için bkz . RunAsPolicy Öğesi

DefaultServices Öğesi

Bir uygulama bu uygulama türüne göre her başlatıldığında otomatik olarak oluşturulan hizmet örneklerini bildirir. Daha fazla bilgi için bkz . DefaultServices Öğesi

Service Öğesi

Uygulama örneği oluşturulurken otomatik olarak oluşturulacak bir hizmet bildirir. Daha fazla bilgi için bkz. Service Öğesi

StatefulService Öğesi

Durum bilgisi olan bir hizmeti tanımlar. Daha fazla bilgi için bkz . StatefulService Öğesi

StatelessService Öğesi

Durum bilgisi olmayan bir hizmet tanımlar. Daha fazla bilgi için bkz. StatelessService Öğesi

Principals Öğesi

Bu uygulamanın hizmetleri ve güvenli kaynakları çalıştırması için gereken güvenlik sorumlularını (kullanıcılar, gruplar) açıklar. İlkelere ilkeler bölümlerinde başvurulur. Daha fazla bilgi için bkz. Principals Öğesi

Groups Öğesi

İlkelerde başvurulabilen bir grup kümesini güvenlik sorumluları olarak bildirir. Gruplar, farklı hizmet giriş noktaları için birden çok kullanıcı varsa ve grup düzeyinde kullanılabilen belirli ortak ayrıcalıklara sahip olmaları gerekiyorsa yararlıdır. Daha fazla bilgi için bkz. Groups Öğesi

Group Öğesi

İlkelerde başvurulabilen bir grubu güvenlik sorumlusu olarak bildirir. Daha fazla bilgi için bkz. Grup Öğesi

Üyelik Öğesi

Daha fazla bilgi için bkz. Üyelik Öğesi

SystemGroup Öğesi

Daha fazla bilgi için bkz. SystemGroup Öğesi

Users Öğesi

İlkelerde başvurulabilen bir kullanıcı kümesini güvenlik sorumluları olarak bildirir. Daha fazla bilgi için bkz . Users Öğesi

Kullanıcı Öğesi

İlkelerde başvurulabilen bir kullanıcıyı güvenlik sorumlusu olarak bildirir. Daha fazla bilgi için bkz. Kullanıcı Öğesi

MemberOf Öğesi

Kullanıcılar mevcut herhangi bir üyelik grubuna eklenebilir, böylece bu üyelik grubunun tüm özelliklerini ve güvenlik ayarlarını devralabilir. Üyelik grubu, farklı hizmetler veya aynı hizmet (farklı bir makinede) tarafından erişilmesi gereken dış kaynakların güvenliğini sağlamak için kullanılabilir. Daha fazla bilgi için bkz. MemberOf Öğesi

SystemGroup Öğesi

Kullanıcının ekleneceği sistem grubu. Sistem grubu Gruplar bölümünde tanımlanmalıdır. Daha fazla bilgi için bkz. SystemGroup Öğesi

Group Öğesi

Kullanıcının ekleneceği grup. Grup, Gruplar bölümünde tanımlanmalıdır. Daha fazla bilgi için bkz. Grup Öğesi

İlkeler Öğesi

Uygulama düzeyinde uygulanacak ilkeleri (günlük koleksiyonu, varsayılan farklı çalıştır, sistem durumu ve güvenlik erişimi) açıklar. Daha fazla bilgi için bkz. İlkeler Öğesi

DefaultRunAsPolicy Öğesi

ServiceManifestImport bölümünde tanımlanmış belirli bir RunAsPolicy'ye sahip olmayan tüm hizmet kodu paketleri için varsayılan bir kullanıcı hesabı belirtin. Daha fazla bilgi için bkz . DefaultRunAsPolicy Öğesi

VotingWeb hizmet bildirimi öğeleri

ServiceManifest Öğesi

Hizmet türünü ve sürümünü bildirimli olarak açıklar. Bir veya daha fazla hizmet türünü desteklemek için bir hizmet paketi oluşturan bağımsız olarak yükseltilebilir kodu, yapılandırmayı ve veri paketlerini listeler. Kaynaklar, tanılama ayarları ve hizmet türü, sistem durumu özellikleri ve yük dengeleme ölçümleri gibi hizmet meta verileri de belirtilir. Daha fazla bilgi için bkz. ServiceManifest Öğesi

ServiceTypes Öğesi

Bu bildirimde codepackage tarafından desteklenen hizmet türlerini tanımlar. Bir hizmet bu hizmet türlerinden birinde örneklendiğinde, bu bildirimde bildirilen tüm kod paketleri giriş noktaları çalıştırılarak etkinleştirilir. Hizmet türleri, kod paketi düzeyinde değil bildirim düzeyinde bildirilir. Daha fazla bilgi için bkz. ServiceTypes Öğesi

StatelessServiceType Öğesi

Durum bilgisi olmayan bir hizmet türünü açıklar. Daha fazla bilgi için bkz . StatelessServiceType Öğesi

CodePackage Öğesi

Tanımlı hizmet türünü destekleyen bir kod paketini açıklar. Bir hizmet bu hizmet türlerinden birinde örneklendiğinde, bu bildirimde bildirilen tüm kod paketleri giriş noktaları çalıştırılarak etkinleştirilir. Sonuçta elde edilen işlemlerin, desteklenen hizmet türlerini çalışma zamanında kaydetmesi beklenir. Birden çok kod paketi olduğunda, sistem bildirilen hizmet türlerinden birini her ararken bunların tümü etkinleştirilir. Daha fazla bilgi için bkz. CodePackage Öğesi

SetupEntryPoint Öğesi

Varsayılan olarak diğer herhangi bir giriş noktasından önce Service Fabric (genellikle NETWORKSERVICE hesabı) ile aynı kimlik bilgileriyle çalışan ayrıcalıklı bir giriş noktası. EntryPoint tarafından belirtilen yürütülebilir dosya genellikle uzun süre çalışan hizmet konağıdır. Ayrı bir kurulum giriş noktasının varlığı, hizmet ana bilgisayarını uzun süreler boyunca yüksek ayrıcalıklarla çalıştırmak zorunda kalmaktan kaçınıyor. Daha fazla bilgi için bkz . SetupEntryPoint Öğesi

ExeHost Öğesi

Daha fazla bilgi için bkz. ExeHost Öğesi

Program Öğesi

Yürütülebilir dosya adı. Örneğin, "MySetup.bat" veya "MyServiceHost.exe". Daha fazla bilgi için bkz. Program Öğesi

Arguments Öğesi

Daha fazla bilgi için bkz. Arguments Öğesi

WorkingFolder Öğesi

Uygulamanın dağıtıldığı küme düğümündeki kod paketindeki işlemin çalışma dizini. Üç değer belirtebilirsiniz: İş (varsayılan), CodePackage veya CodeBase. CodeBase, çalışma dizininin kod paketinde EXE'nin tanımlandığı dizine ayarlandığını belirtir. CodePackage, exe dosyasının kod paketi dizininde tanımlandığı konumdan bağımsız olarak çalışma dizinini kod paketinin kökü olarak ayarlar. İş, iş dizinini düğümde oluşturulan benzersiz bir klasöre ayarlar. Bu klasör tüm uygulama örneği için aynıdır. Varsayılan olarak, uygulamadaki tüm işlemlerin çalışma dizini uygulama çalışma klasörüne ayarlanır. İşlemlerin verileri yazabileceği yer burasıdır. Bu klasörler farklı uygulama örnekleri arasında paylaşılabildiği ve silinebileceği için kod paketine veya kod tabanına veri yazılması önerilmez. Daha fazla bilgi için bkz . WorkingFolder Öğesi

ConsoleRedirection Öğesi

Uyarı

Konsol yeniden yönlendirmesini üretim uygulamasında kullanmayın, yalnızca yerel geliştirme ve hata ayıklama için kullanın. Başlangıç betiğinden konsol çıkışını, uygulamanın dağıtıldığı ve çalıştırıldığı küme düğümündeki "log" adlı uygulama klasöründeki bir çıkış dosyasına yönlendirir. Daha fazla bilgi için bkz. ConsoleRedirection Öğesi

EntryPoint Öğesi

EntryPoint tarafından belirtilen yürütülebilir dosya genellikle uzun süre çalışan hizmet konağıdır. Ayrı bir kurulum giriş noktasının varlığı, hizmet ana bilgisayarını uzun süreler boyunca yüksek ayrıcalıklarla çalıştırmak zorunda kalmaktan kaçınıyor. EntryPoint tarafından belirtilen yürütülebilir dosya, SetupEntryPoint başarıyla çıktıktan sonra çalıştırılır. Sonuçta elde edilen işlem, sonlandırılırsa veya kilitlenirse izlenir ve yeniden başlatılır (SetupEntryPoint ile yeniden başlar). Daha fazla bilgi için bkz . EntryPoint Öğesi

ExeHost Öğesi

Daha fazla bilgi için bkz. ExeHost Öğesi

ConfigPackage Öğesi

Name özniteliğiyle adlandırılmış bir klasörü, Ayarlar.xml dosyası içeren PackageRoot altında bildirir. Bu dosya, işlemin çalışma zamanında geri okuyabileceği kullanıcı tanımlı anahtar-değer çifti ayarlarının bölümlerini içerir. Yükseltme sırasında, yalnızca ConfigPackage sürümü değiştiyse, çalışan işlem yeniden başlatılmaz. Bunun yerine geri arama, yapılandırma ayarlarının dinamik olarak yeniden yüklenebilmesi için bu ayarların değiştiğini işleme bildirir. Daha fazla bilgi için bkz . ConfigPackage Öğesi

Resources Öğesi

Bu hizmet tarafından kullanılan ve derlenmiş kod değiştirilmeden bildirilebilen ve hizmet dağıtıldığında değiştirilebilen kaynakları açıklar. Bu kaynaklara erişim, uygulama bildiriminin Sorumlular ve İlkeler bölümleri aracılığıyla denetlenmektedir. Daha fazla bilgi için bkz. Resources Öğesi

Endpoints Öğesi

Hizmet için uç noktaları tanımlar. Daha fazla bilgi için bkz . Endpoints Öğesi

Endpoint Öğesi

Geçersiz kılınacak hizmet bildiriminde bildirilen uç nokta. Daha fazla bilgi için bkz . Endpoint Öğesi

VotingData hizmet bildirimi öğeleri

ServiceManifest Öğesi

Hizmet türünü ve sürümünü bildirimli olarak açıklar. Bir veya daha fazla hizmet türünü desteklemek için bir hizmet paketi oluşturan bağımsız olarak yükseltilebilir kodu, yapılandırmayı ve veri paketlerini listeler. Kaynaklar, tanılama ayarları ve hizmet türü, sistem durumu özellikleri ve yük dengeleme ölçümleri gibi hizmet meta verileri de belirtilir. Daha fazla bilgi için bkz. ServiceManifest Öğesi

ServiceTypes Öğesi

Bu bildirimde codepackage tarafından desteklenen hizmet türlerini tanımlar. Bir hizmet bu hizmet türlerinden birinde örneklendiğinde, bu bildirimde bildirilen tüm kod paketleri giriş noktaları çalıştırılarak etkinleştirilir. Hizmet türleri, kod paketi düzeyinde değil bildirim düzeyinde bildirilir. Daha fazla bilgi için bkz. ServiceTypes Öğesi

StatefulServiceType Öğesi

Durum bilgisi olan bir hizmet türünü açıklar. Daha fazla bilgi için bkz . StatefulServiceType Öğesi

CodePackage Öğesi

Tanımlı hizmet türünü destekleyen bir kod paketini açıklar. Bir hizmet bu hizmet türlerinden birinde örneklendiğinde, bu bildirimde bildirilen tüm kod paketleri giriş noktaları çalıştırılarak etkinleştirilir. Sonuçta elde edilen işlemlerin, desteklenen hizmet türlerini çalışma zamanında kaydetmesi beklenir. Birden çok kod paketi olduğunda, sistem bildirilen hizmet türlerinden birini her ararken bunların tümü etkinleştirilir. Daha fazla bilgi için bkz. CodePackage Öğesi

EntryPoint Öğesi

EntryPoint tarafından belirtilen yürütülebilir dosya genellikle uzun süre çalışan hizmet konağıdır. Ayrı bir kurulum giriş noktasının varlığı, hizmet ana bilgisayarını uzun süreler boyunca yüksek ayrıcalıklarla çalıştırmak zorunda kalmaktan kaçınıyor. EntryPoint tarafından belirtilen yürütülebilir dosya, SetupEntryPoint başarıyla çıktıktan sonra çalıştırılır. Sonuçta elde edilen işlem, sonlandırılırsa veya kilitlenirse izlenir ve yeniden başlatılır (SetupEntryPoint ile yeniden başlar). Daha fazla bilgi için bkz . EntryPoint Öğesi

ExeHost Öğesi

Daha fazla bilgi için bkz. ExeHost Öğesi

Program Öğesi

Yürütülebilir dosya adı. Örneğin, "MySetup.bat" veya "MyServiceHost.exe". Daha fazla bilgi için bkz. Program Öğesi

WorkingFolder Öğesi

Uygulamanın dağıtıldığı küme düğümündeki kod paketindeki işlemin çalışma dizini. Üç değer belirtebilirsiniz: İş (varsayılan), CodePackage veya CodeBase. CodeBase, çalışma dizininin kod paketinde EXE'nin tanımlandığı dizine ayarlandığını belirtir. CodePackage, exe dosyasının kod paketi dizininde tanımlandığı konumdan bağımsız olarak çalışma dizinini kod paketinin kökü olarak ayarlar. İş, iş dizinini düğümde oluşturulan benzersiz bir klasöre ayarlar. Bu klasör tüm uygulama örneği için aynıdır. Varsayılan olarak, uygulamadaki tüm işlemlerin çalışma dizini uygulama çalışma klasörüne ayarlanır. İşlemlerin verileri yazabileceği yer burasıdır. Bu klasörler farklı uygulama örnekleri arasında paylaşılabildiği ve silinebileceği için kod paketine veya kod tabanına veri yazılması önerilmez. Daha fazla bilgi için bkz . WorkingFolder Öğesi

ConfigPackage Öğesi

Name özniteliğiyle adlandırılmış bir klasörü, Ayarlar.xml dosyası içeren PackageRoot altında bildirir. Bu dosya, işlemin çalışma zamanında geri okuyabileceği kullanıcı tanımlı anahtar-değer çifti ayarlarının bölümlerini içerir. Yükseltme sırasında, yalnızca ConfigPackage sürümü değiştiyse, çalışan işlem yeniden başlatılmaz. Bunun yerine geri arama, yapılandırma ayarlarının dinamik olarak yeniden yüklenebilmesi için bu ayarların değiştiğini işleme bildirir. Daha fazla bilgi için bkz . ConfigPackage Öğesi

DataPackage Öğesi

Çalışma zamanında işlem tarafından kullanılacak statik veri dosyalarını içeren PackageRoot altında Name özniteliğiyle adlandırılmış bir klasör bildirir. Service Fabric, hizmet bildiriminde listelenen veri paketlerinden herhangi biri yükseltildiğinde konakta ve destek paketlerinde belirtilen tüm EXE'leri ve DLLHOST'ları geri dönüştürecektir. Daha fazla bilgi için bkz . DataPackage Öğesi

Resources Öğesi

Bu hizmet tarafından kullanılan ve derlenmiş kod değiştirilmeden bildirilebilen ve hizmet dağıtıldığında değiştirilebilen kaynakları açıklar. Bu kaynaklara erişim, uygulama bildiriminin Sorumlular ve İlkeler bölümleri aracılığıyla denetlenmektedir. Daha fazla bilgi için bkz. Resources Öğesi

Endpoints Öğesi

Hizmet için uç noktaları tanımlar. Daha fazla bilgi için bkz . Endpoints Öğesi

Endpoint Öğesi

Geçersiz kılınacak hizmet bildiriminde bildirilen uç nokta. Daha fazla bilgi için bkz . Endpoint Öğesi