2010-03-15 16 views
5

WCF uygulamasında çok basit bir oturum nesnesini kullanmam veya uyarmam gerekiyor.WCF uygulamasında oturum değişkeni

Bir aramanın başlangıcında bazı değerleri kaydetmem gerekiyor ve hizmetimin bazı farklı yöntemlerini kullanırken bu değerlere erişmem gerekiyor.

Asp.NET oturumu bunun için çok ideal olacaktır, bu yüzden bu değerleri saklamak için bir WCF uygulamasında neyin mevcut olduğunu bulmam gerekiyor.

Not: bu sadece bir çağrı oturum başına, ben Sen bir kaç şey yapmak zorunda .. servis ve böyle istemciden

cevap

4

Ne (tek bir istek ömrü boyunca korunur Özel bir bağlam) tarif ettiğiniz daha bir ASP.NET Oturum daha HttpContext.Items gibidir. WCF HttpContext benzeri OperationContext adlı bir sınıf var. Özel bağlam için Items özelliğine sahip değildir, ancak this blog post, istediğinizi elde etmek için kullanabileceğiniz bir teknik tanımlar.

+2

@Joe Bağlantı bozuk. Daha fazla bilgi verebilir misiniz? Teşekkür ederim! –

2

farklı çağrılar arasında bu oturumu korumak gerek kalmamasıdır. Sonunda var

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)] 

: - |

Set aspNetCompatibilityEnabled = Barındırıcınıza gerçek (System.ServiceModel iç serviceHostingEnvironment)

servisi (değil sözleşme) ile ilişkilendirilmesi gereken allowCookies'i bağlayıcınızda doğru olarak ayarlamanız gerekir.

<basicHttpBinding> 
<binding name="SessionBinding" allowCookies="true"> 
</basicHttpBinding> 

Sadece merak, size kesin ihtiyaç seans?

+0

varsayımda bulunduğum servise ayarlanmalı mı? – Enzero

+1

, istemcide ayarlanmalıdır – Arvind