Aracılığıyla paylaş


WS Çift Http

DualHttp örneğinde bağlamanın nasıl yapılandırılır gösterilmektedirWSDualHttpBinding. Bu örnek, Internet Information Services (IIS) tarafından barındırılan bir istemci konsol programı (.exe) ve hizmet kitaplığından (.dll) oluşur. Hizmet çift yönlü bir sözleşme uygular. Sözleşme, matematik işlemlerini (Ekleme, Çıkarma, Çarpma ve Bölme) kullanıma sunan arabirim tarafından ICalculatorDuplex tanımlanır. Bu örnekte, ICalculatorDuplex arayüzü istemcinin matematik işlemleri gerçekleştirmesine izin verir ve oturum boyunca kesintisiz bir sonuç hesaplar. Bağımsız olarak, hizmet arabirimde ICalculatorDuplexCallback sonuçları döndürür. İstemci ve hizmet arasında gönderilen ileti kümesini ilişkilendirmek için bir bağlam oluşturulması gerektiğinden, çift yönlü sözleşme oturum gerektirir. WSDualHttpBinding bağlaması çift yönlü iletişimi destekler.

Uyarı

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

WSDualHttpBinding ile bir hizmet uç noktası yapılandırmak için, uç nokta yapılandırmasında bağlamayı gösterildiği gibi belirtin.

<endpoint address=""
         binding="wsDualHttpBinding"
         contract="Microsoft.ServiceModel.Samples.ICalculatorDuplex" />

İstemcide, aşağıdaki örnek yapılandırmada gösterildiği gibi sunucunun istemciye bağlanmak için kullanabileceği bir adres yapılandırmanız gerekir.

<system.serviceModel>
  <client>
    <endpoint address=
         "http://localhost/servicemodelsamples/service.svc"
         binding="wsDualHttpBinding"
         bindingConfiguration="Binding1"
         contract="Microsoft.ServiceModel.Samples.ICalculatorDuplex" />
  </client>

  <bindings>
    <!-- Configure a WSDualHttpBinding that supports duplex -->
    <!-- communication. -->
    <wsDualHttpBinding>
      <binding name="Binding1"
               clientBaseAddress="http://localhost:8000/myClient/"
               useDefaultWebProxy="true"
               bypassProxyOnLocal="false">
      </binding>
    </wsDualHttpBinding>
  </bindings>
</system.serviceModel>

Örneği çalıştırdığınızda, işlem istekleri ve yanıtları istemci konsolu penceresinde görüntülenir. İstemciyi kapatmak için istemci penceresinde ENTER tuşuna basın.

Press <ENTER> to terminate client once the output is displayed.

Result(100)
Result(50)
Result(882.5)
Result(441.25)
Equation(0 + 100 - 50 * 17.65 / 2 = 441.25)

Örneği çalıştırdığınızda, hizmetten gönderilen geri arama arabiriminde istemciye döndürülen iletileri görürsünüz. Her ara sonuç görüntülenir ve ardından tüm işlemler tamamlandıktan sonra denklemin tamamı görüntülenir. İstemciyi kapatmak için ENTER tuşuna basın.

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

  1. Aşağıdaki komutu kullanarak ASP.NET 4.0'ı yükleyin.

    %windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable
    
  2. Windows Communication Foundation Örnekleri içinOne-Time Kurulum Yordamını yaptığınızdan emin olun.

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

  4. Örneği tek bir makine veya makineler arası bir yapılandırmada çalıştırmak için, Windows Communication Foundation örneklerini çalıştırmayönergelerini izleyin.

    Önemli

    İstemciyi makineler arası bir yapılandırmada çalıştırırken, hem address<><>

    <client>
        <endpoint name = ""
          address=
         "http://service_machine_name/servicemodelsamples/service.svc"
        />
    </client>
    ...
    <wsDualHttpBinding>
        <binding name="DuplexBinding" clientBaseAddress=
            "http://client_machine_name:8000/myClient/">
        </binding>
    </wsDualHttpBinding>