Aracılığıyla paylaş


Bağlantıları ve oturumlar (xmla) yönetme

Statefulness sırasında sunucu korur kimlik ve içeriği istemcinin yöntem çağrıları arasında bir durumdur. Statelessness sırasında sunucu değil hatırlıyorum kimlik ve içeriği istemcinin yöntem çağrısı bittikten sonra bir durumdur.

Statefulness sağlamak için xml Analysis (xmla) destekler oturum birlikte gerçekleştirilecek tabloların bir dizi sağlar. Bu tür tabloların bir dizi örnek izleyen sorgular içinde kullanılacak bir hesaplanan üye oluşturma olacaktır.

Genel olarak, ole db 2.6 belirtiminde özetlenen aşağıdaki davranış xmla oturumlarında izleyin:

  • Oturumlar, hareket ve komut bağlam kapsam tanımlayın.

  • Tek bir oturum bağlamında birden fazla komut çalıştırabilirsiniz.

  • xmla bağlamında hareketleri desteğini ise ile gönderilen sağlayıcıya özgü komutları ile Execute yöntemi.

xmla gevşek birleştiğinde bir ortamda kilitleme uygulamaktır Dağıtılmış Yazma ve sürüm oluşturma (dav) iletişim kuralı tarafından kullanılan yaklaşım benzer bir modda Web ortamında oturumlarını desteklemek için bir yol tanımlar. Sağlayıcı oturumları (örneğin, bir zaman aşımı veya bağlantı hatası) çeşitli nedenlerle sona izin verilmez, bu uygulama dav paralellikler. Oturumları desteklendiğinde, Web Hizmetleri farkında ve kesilen kümeleri başlatılmalı komutları işlemek için hazır olmalıdır.

World Wide Web Consortium (W3C) Basit Nesne Erişim Protokolü (soap) belirtimi kadar yeni protokoller soap iletilerini üzerine bina için soap üstbilgileri kullanmanızı önerir. Aşağıdaki tabloda, soap üstbilgisi öğeleri ve öznitelikleri başlatılıyor, koruma ve bir oturumu kapatmak için xmla tanımlar listelenmektedir.

soap üstbilgisi

Açıklama

BeginSession

Bu başlık, yeni bir oturum oluşturmak için sağlayıcı ister. Sağlayıcı, yeni bir oturum oluşturmak ve soap yanıtı oturumun başlığı bir parçası olarak oturum Kımlığı döndürme yapmalıdır.

Oturumkimliği

Değer alanı her yöntem çağrısında oturum geri kalanı için kullanılması gereken oturum Kımlığını içerir. Bu etiket Sağlayıcı soap yanıtı gönderir ve istemci de bu özniteliği her oturum üstbilgi öğesi ile göndermeniz gerekir.

Oturum

Oturumda oluşan her yöntem çağrısı için bu başlığı kullanılmalıdır ve oturum Kımlığı üstbilgi değeri alanında eklenmesi gerekir.

EndSession

Oturumu sona erdirmek için bu başlığı kullanın. Oturum Kımlığı değerini alan dahil edilmelidir.

[!NOT]

Bir oturum Kımlığı bir oturumun geçerli kalır garanti etmez. (Örneğin, zaman aşımına uğradı veya bağlantı kaybolursa varsa) oturumu sona ererse, sağlayıcı sonlandırmak ve bu oturumun eylemleri geri almak seçebilirsiniz. Sonuç olarak, tüm sonraki yöntem çağrıları üzerine bir oturum kimliği istemciden geçersiz oturum sinyali bir hata ile başarısız. İstemci bu durumu idare ve oturum içlerine başından itibaren yeniden hazır olması gerekir.

Eski kod örneği

Aşağıdaki örnek, nasıl oturumları desteklenen gösterir.

  1. Oturumu başlatmak için BeginSession üstbilgi sabun istemcisinden giden xmla yöntemi çağrısına ekleyin. Değer alanı başlangıçta boş çünkü oturum kimliği henüz bilinmemektedir.

    <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>
    
    <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. Sağlayıcı soap yanıtı iletisinden xmla üstbilgisi etiketi kullanılarak oturum kimliğini iade üstbilgi alanında içerir <SessionID>.

    <SOAP-ENV:Header>
       <XA:Session
          xmlns:XA="urn:schemas-microsoft-com:xml-analysis"
          SessionId="581"/>
    </SOAP-ENV:Header>
    
    <SOAP-ENV:Header>
       <XA:Session
          xmlns:XA="urn:schemas-microsoft-com:xml-analysis"
          SessionId="581"/>
    </SOAP-ENV:Header>
    
  3. Oturumda her yöntem çağrısı için oturumun başlığı, sağlayıcıdan döndürülen oturum kimliğini içeren eklenmesi gerekir.

    <SOAP-ENV:Header>
       <XA:Session
          xmlns:XA="urn:schemas-microsoft-com:xml-analysis"
          mustUnderstand="1"
          SessionId="581"/>
    </SOAP-ENV:Header>
    
    <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 oturum ID değerini içeren etiketi 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>
    
    <SOAP-ENV:Header>
       <XA:EndSession
          xmlns:XA="urn:schemas-microsoft-com:xml-analysis"
          xsi:type="xsd:int"
          mustUnderstand="1"
          SessionId="581"/>
    </SOAP-ENV:Header>
    

Ayrıca bkz.

Kavramlar

Analysis Services xmla ile Geliştirme