Aracılığıyla paylaş


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

Statefulness sırasında sunucu korur kimlik ve bağlamında bir koşul bir istemci yöntem çağrıları arasında.Statelessness sırasında sunucu değil unutmayın kimlik ve bağlamında bir durumdur bir istemci sonra bir yöntem çağrısı tamamlanır.

Statefulness, sağlamak için XML for Analysis (xmla) destekleyen oturumları bir dizi birlikte gerçekleştirilecek deyimi izin vermek.İzleyen sorgular içinde kullanılacak bir hesaplanan üye oluşturma ifadeleri böyle bir dizi örnek 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 aracılığıyla sağlayıcı-belirli komutları ile gönderilen Execute yöntem.

xmla gevşekçe eşleşmiş bir ortamda kilitleme uygulamak için Dağıtılmış Yazma ve sürüm oluşturma (dav) protokol tarafından kullanılan yaklaşımı benzer bir modda bir 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 verilir, bu uygulamayla dav parallels.Web Hizmetleri oturumları desteklendiğinde, farkında ve kesilen başlatılmalıdır komutlar kümesi işlemek hazır olmalıdır.

World Wide Web Consortium (W3C) Basit Nesne Erişim Protokolü (soap) belirtimi soap iletilerini üstünde yeni iletişim kuralları oluşturmak için soap üstbilgileri kullanmanızı önerir.Aşağıdaki tablo başlatmak, bakımını yapma ve oturum kapatma için xmla tanımlayan nitelikleri ve soap üstbilgisi öğeleri listeler.

soap üstbilgisi

Açıklama

BeginSession

Bu üstbilgi, yeni bir oturum oluşturma sağlayıcı ister.Sağlayıcı, yeni bir oturum oluşturma ve oturum kimliği oturum başlığı soap yanıtı bir parçası olarak döndüren karşılık vermelidir.

Oturumkimliği

Değer alanı her yöntem çağrısında geri kalan oturum için kullanılacak oturum Kimliğini içerir.Bu etiketi sağlayıcı soap yanıtı gönderir ve istemci de her bir oturumun başlığı öğesi bu öznitelik göndermelidir.

Oturumu

Oturumda oluşan her yöntem çağrısı için bu başlığı kullanılmalıdır ve oturum kimliği üstbilgisi değer alanına dahil edilmesi.

EndSession

oturum sona erdirmek için bu başlığı kullanın.Oturum kimliği ile değer alanına dahil edilmelidir.

Not

Bir oturum kimliği bir oturumun geçerli kalır garanti etmez.(Örneğin, zaman aşımına uğrar veya bağlantısı kesildiği varsa) oturum sona ererse, sağlayıcı sonlandırmak ve oturuma ait eylemleri geri almak almak seçebilirsiniz.Sonuç olarak, gelen tüm izleyen 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 durumunu işlemek ve oturum yöntem çağrıları baştan yeniden göndermek hazırlıklı olun.

Eski kod örneği

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

  1. Başlamak için oturum, Begin eklemeoturum istemcisinden giden xmla yöntem çağrısı için SOAP üstbilgisi.Oturum kimliği henüz bilindiği için 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. Sağlayıcı soap yanıtı iletisinden xmla üstbilgisi etiketi kullanılarak oturum kimliği 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>
    
  3. Her yöntem çağrısında oturum için oturum üstbilgi eklenmesi gerekir, oturumu içeren kimliği dönen sağlayıcı.

    <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> Etiket kullanılır, içeren ilgili oturum kimliği değeri.

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