2011-09-27 19 views
6

WCF hizmetini kullanıyorum (WebGet özniteliği aracılığıyla).WCF hizmetinde WebHttpBinding uygulamasına erişim oturumu

WCF hizmetinden Oturumu erişmeye çalışıyor ama HttpContext.Current ediyorum ben AspNetCompatibilityRequirements eklendi ve web.config düzenlenmiş ama yine de oturumu erişemez

boş.

WebGet ve Session birlikte kullanılabilir mi?

Teşekkür ederiz!

cevap

5

Evet, bu mümkün. Eğer web.config düzenlerseniz:

<system.serviceModel> 
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" /> 
</system.serviceModel> 

ve AspNetCompatiblityRequirements ekleyin HttpContext.Current mevcut olmalıdır.

Her şeyi bir kez daha kontrol edin, belki de özniteliği yanlış yere yerleştirdiniz (sınıf yerine arabirim?).

+2

Öznitem var, ancak oturum yok. WebHttpBinding, oturumla uyumlu mu? –

4

Bir oturum ile RESTfull hizmeti? Paul Prescod dan Can you help me understand this? "Common REST Mistakes: Sessions are irrelevant"

http://javadialog.blogspot.co.uk/2009/06/common-rest-mistakes.html (nokta 6)

ve

http://www.peej.co.uk/articles/no-sessions.html

Alıntı:

mükemmel burada tartışma bakın

Sessions alakasız.

İstemciye "giriş" veya "bağlantı kurmaya" gerek yoktur. HTTP kimlik doğrulaması, her iletide otomatik olarak yapılır. İstemci uygulamaları, hizmetler değil, kaynaklarıdır. Bu nedenle giriş yapacak hiçbir şey yok! Bir REST web servisinde uçuş rezervasyonu yaptığınızı varsayalım. , hizmete yeni bir "oturum" bağlantısı oluşturmuyorsunuz. Bunun yerine, size yeni bir güzergah oluşturmak için "yol programı yaratıcısı nesnesini" soruyorsunuz. Boşlukları doldurmak için başlayabilirsiniz, ancak diğer bazı boşlukları doldurmak için web üzerinde başka bir yerde tamamen farklı bileşen alın. oturum yok, bu nedenle istemcileri arasında oturum durumu geçirme sorunu yoktur. numaralı sunucuda "oturum yakınlığı" sorunu yoktur (yine de devam etmek için yük dengeleme sorunları var).

İlgili konular