Lütfen yardım edin.REST WCF servisi ve ASP.NET'teki oturumlar
Bir WCF REST hizmetinin içinden bir asp.net uygulamasının geçerli oturum nesnesine erişmeye çalışıyorum.
Hiç başarı olmamıştır. Hizmetten erişilen oturum nesnesi, aspx sayfalarında aynı değildir.
Yani, burada sorum şu: mümkün mü HttpContext.Current.Session aracılığıyla DİNLENME WCF hizmetinde geçerli oturumuna erişmek için? web.config'de
[AspNetCompatibilityRequirements
(RequirementsMode =
AspNetCompatibilityRequirementsMode.Allowed)] // I have also tried Required
public class DataService : IDataService
:
kod aşağıdaki noktaları vardır amacıyla
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="ClosedRoom.DataServiceBehavior">
<enableWebScript />
</behavior>
</endpointBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" >
<baseAddressPrefixFilters>
<add prefix="http://localhost:63399"/>
</baseAddressPrefixFilters>
</serviceHostingEnvironment>
<services>
<service name="ClosedRoom.DataService">
<endpoint address="" behaviorConfiguration="ClosedRoom.DataServiceBehavior"
binding="webHttpBinding" contract="ClosedRoom.IDataService" />
</service>
</services>
</system.serviceModel>
Teşekkür ederim,
WCF ans ASP.NET birbirinden tamamen farklı iki teknolojileridir. Lütfen sorunuza açıklık getirin. Başarmaya çalıştığınız şey net değil. ASP.NET oturumları, (ASP.NET web?) Uygulamanızda barındırabileceğiniz herhangi bir WCF servis oturumundan bağımsızdır. – Jan
Örnek uygulamayı http://blogs.msdn.com/b/wenlong/archive/2010/02/21/using-asp-net-sessions-from-wcf.aspx adresinden indirmeyi deneyin ve neleri kaçırdığınızı anlamaya çalışın . – decyclone
Servisi, uygulamanızdan veya tarayıcıdan mı çağıyorsunuz? Aktarılan çerezleri kontrol etmeye çalıştınız mı? ASP.NET'teki oturum çerez tarafından tanımlanır. Çerez servis talebi ile aktarılmazsa yeni oturum oluşturulur. Btw. REST hizmetleri vatansız olmalı = herhangi bir seans olmaksızın. –