Aracılığıyla paylaş


Azaltma

Azaltma örneği, azaltma denetimlerinin kullanımını gösterir. Azaltma denetimleri kaynakların aşırı tüketimini önlemek için eşzamanlı çağrı, örnek veya oturum sayısına sınırlar ekler. Azaltma davranışı hizmet yapılandırma dosyası ayarlarında belirtilir. Bu örnek, hesap makinesi hizmeti uygulayan Başlarken'i temel alır.

Bu örnekte istemci bir konsol uygulamasıdır (.exe) ve hizmet Internet Information Services (IIS) tarafından barındırılır.

Not

Bu örnek için kurulum yordamı ve derleme yönergeleri bu konunun sonunda yer alır.

Hizmet yapılandırma dosyası, aşağıdaki örnek yapılandırmada gösterildiği gibi serviceThrottling ><içindeki azaltma denetimlerini belirtir.

<behaviors>
  <serviceBehaviors>
    <behavior name="CalculatorServiceBehavior">
      <serviceDebug includeExceptionDetailInFaults="False" />
      <serviceMetadata httpGetEnabled="True"/>
      <!-- Specify throttling behavior -->
    <serviceThrottling maxConcurrentCalls="2"
                       maxConcurrentInstances="10"/>
    </behavior>
  </serviceBehaviors>
</behaviors>

Yapılandırıldığı gibi, hizmet en fazla eş zamanlı çağrı sayısını 2 ile ve en fazla eşzamanlı örnek sayısını 10 ile sınırlar.

Azaltmayı göstermek için hizmet yöntemlerinde aşağıdaki gibi bir uyku süresi tanımlarız:

public double Add(double n1, double n2)
{
    System.Threading.Thread.Sleep(2000);
    return n1 + n2;
}

Örneği çalıştırdığınızda, işlem istekleri ve yanıtları istemci konsolu penceresinde görüntülenir. Ekle ve Çıkar yöntemleri eşzamanlı olarak yürütülür ve Çarpma ve Bölme yöntemleri eşzamanlı olarak yürütülür ve 2'den fazla yöntemin eşzamanlı olarak yürütülemediğini kanıtlayarak azaltmayı gösterir.

Press <ENTER> to terminate client.
Add(100,15.99)
Subtract(145,76.54)
Multiply(9,81.25)
Divide(22,7)

Add Result: 115.99
Subtract Result: 68.46
Multiply Result: 731.25
Divide Result: 3.14285714285714

Press any key to continue . . .

Örneği ayarlamak, derlemek ve çalıştırmak için

  1. Windows Communication Foundation Örnekleri için Tek Seferlik Kurulum Yordamı'nı gerçekleştirdiğinizden emin olun.

  2. Çözümün C# veya Visual Basic .NET sürümünü oluşturmak için Windows Communication Foundation Örnekleri Oluşturma başlığındaki yönergeleri izleyin.

  3. Örneği tek veya makineler arası bir yapılandırmada çalıştırmak için Windows Communication Foundation Örneklerini Çalıştırma başlığındaki yönergeleri izleyin.