Aracılığıyla paylaş


Ağ Bağlantıları'nı ve Oturumlar (XMLA) yönetme

Statefulness sırasında sunucunun kimliğini ve yöntem çağrıları arasında bir istemci bağlamı korur bir koşuldur.Statelessness yöntem çağrısı tamamlandığında, sunucunun kimliğini ve bir istemci bağlamı hatırlıyor değil bir koşuldur.

Statefulness sağlamak için , XML çözümlemesi (XMLA) destekler. oturumlar bir dizi deyimi birlikte gerçekleştirilmesini sağlayan. Ifadeler gibi bir dizi örnek oluşturma izleyen sorgular kullanılır hesaplanan üye olacaktır.

Genel olarak, XMLA oturumlarında OLE DB 2.6 belirtiminde özetlenen aşağıdaki davranış izleyin:

  • Oturumlar, işlem ve komut bağlam kapsam tanımlayın.

  • Birden fazla komutu tek bir oturum bağlamında çalıştırabilirsiniz.

  • Sağlayıcıya özgü komutları ile gönderilen aracılığıyla XMLA içeriğinde hareketleri desteğini ise yürütmek yöntem.

XMLA Web ortamında benzer bir şekilde eşleşmiş ortamında kilitlemek için Dağıtılmış Yazma ve sürüm oluşturma (DAV) protokol tarafından kullanılan yaklaşımı modunda oturumlarını desteklemek için bir yol tanımlar.Sağlayıcı, çeşitli nedenler (örneğin, bir zaman aşımı veya bağlantı hatası) oturumlarının süresi dolacak şekilde izin verilir, bu uygulama DAV parallels.Oturumların desteklendiğinde, Web Hizmetleri uyumlu ve kesilen kümelerini yeniden başlatılmalı komutları işlemeye hazır olması gerekir.

SOAP ileti üstünde yeni iletişim kuralları oluşturmak için SOAP üstbilgilerini kullanarak World Wide Web Konsorsiyumu (W3C) Basit Nesne Erişim Protokolü (SOAP) belirtimi önerir.SOAP üstbilgisi öğeleri ve öznitelikleri, başlatılıyor, bakımını yapma ve oturum kapatma XMLA tanımlayan, aşağıdaki tabloda listelenmiştir.

SOAP üstbilgisi

Açıklama

BeginSession

Bu üstbilgi, yeni bir oturum oluşturmak için sağlayıcı ister.Sağlayıcı, yeni bir oturum oluşturma ve SOAP yanıtı Session üstbilgisinin bir parçası olarak, oturum ıD'SI döndüren bir yanıt.

Sessionıd

Değer alanı, her yöntem çağrısında kalan oturum için kullanılan oturum KIMLIĞINI içerir.SOAP yanıtı sağlayıcısında bu etiketi gönderir ve istemci her oturum üstbilgi öğesi ile bu özniteliği göndermesi gerekir.

oturum

Oturum sırasında ortaya çıkan her yöntem çağrısı Bu üstbilgi kullanılması gerektiğini ve oturum KIMLIĞI üstbilgi değeri alanında bulunan.

EndSession

oturum sona erdirmek için , bu başlığı'nı kullanın.Oturum KIMLIĞI alanı değeri eklenmelidir.

Not

Bir oturum KIMLIĞI bir oturumun geçerli kalır garanti etmez.Sağlayıcı, (örneğin, zaman aşımına uğrar veya bağlantı kaybolursa,), oturum sona ererse, sona erdirmek ve bu oturumun eylemleri geri almak almak seçebilirsiniz.Sonuç olarak, gelen tüm sonraki yöntem çağırır. istemci üzerinde bir oturum KIMLIĞI geçersiz bir oturum sinyal bir hata ile başarısız.Bir istemci bu durumu işlemek ve baştan oturum yöntem çağrıları yeniden göndermek hazırlıklı olun.

Eski kod örneği

Aşağıdaki örnek, oturumların nasıl desteklendiğini gösterir.

  1. oturum başlatmak için , BeginSession üstbilgi SOAP istemciden gelen giden XMLA yöntem çağrısı ekleyin.Oturum KIMLIĞI henüz bilinmesi nedeniyle, değer alanı başlangıçta boştur.

    <SOAP-ENV:Envelope
       xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/"
       SOAP-ENV:encodingStyle="https://schemas.xmlsoap.org/soap/encoding/">
       <SOAP-ENV:Header>
          <XA:BeginSession
             xmlns:XA="urn:schemas-microsoft-com:xml-analysis"
             xsi:type="xsd:int"
             mustUnderstand="1"/>
       </SOAP-ENV:Header>
       <SOAP-ENV:Body>
          ...<!-- Discover or Execute call goes here.-->
       </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    
  2. SOAP yanıtı iletisinden sağlayıcı XMLA başlığı etiketini kullanarak iade üstbilgi bölümünde oturum KIMLIĞI içerir <Sessionıd>.

    <SOAP-ENV:Header>
       <XA:Session
          xmlns:XA="urn:schemas-microsoft-com:xml-analysis"
          SessionId="581"/>
    </SOAP-ENV:Header>
    
  3. Her yöntem çağrısında için oturumu, oturum üstbilgisi, sağlayıcıdan döndürülen oturum KIMLIĞI içeren eklenmiş olması gerekir.

    <SOAP-ENV:Header>
       <XA:Session
          xmlns:XA="urn:schemas-microsoft-com:xml-analysis"
          mustUnderstand="1"
          SessionId="581"/>
    </SOAP-ENV:Header>
    
  4. Oturum tamamlandığında, <EndSession> ilgili oturumun KIMLIĞI değerini içeren etiket kullanılır.

    <SOAP-ENV:Header>
       <XA:EndSession
          xmlns:XA="urn:schemas-microsoft-com:xml-analysis"
          xsi:type="xsd:int"
          mustUnderstand="1"
          SessionId="581"/>
    </SOAP-ENV:Header>