2016-08-22 32 views
5

Service Fabric Stateful hizmetimi 3 bölümlü ve 3 Çoğaltma ile yerel çalışıyorum.Servie Kumaş Uygulamasındaki Statik değişken kapsam

Uygulamanın genel bir statik değişkeni vardır ve değer "başlangıç" sınıfında başlatılır.

Statik değişkenin kapsamının çoğaltma başına olduğunu varsayıyordum. Ama statik değişken kapsamı, düğümdeki tüm örnek arasında paylaşılmış gibi görünüyor.

ie. Partition 1 Primary Replica statik değişkeni, ancak her iki çoğaltımın aynı düğümde içinde bulunduğu Partition 3 Secondary Replica'dan verme değerini erişiyorum. Statik değişkenin değeri, aynı düğümün içinde bir sıraya yazılıyor gibi görünüyor.

Stateful hizmet kumaşı uygulamasında Statik değişkenin kapsamı nedir?

cevap

7

bir durum bilgisi hizmeti aynı hizmet türü arasında bir durum bilgisi hizmeti veya örneğin her bir kopyası bir örneğinin bir aşağıdadır StatefulService- veya aynı işlemde ve StatelessService türetilmiş hizmet sınıfı (RunAsync ile) aynı AppDomain. Diğer bir deyişle, aynı düğüme yerleştirilen bir hizmetin tüm kopyaları aynı işlemde yalnızca bir grup .NET nesnesidir. Evet, bunların karşısında statik bir değişken görülecektir. Statik değişkenler önerilmez. Bir şeyin "yalnızca bir" öğesine ihtiyacınız varsa, tekil bir desen kullanın ve tekil örneklerini hizmet kopyaları/örneklerine göre kullanın; bu, bir tabloyla kendiniz yapmanız gerekir.