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