2010-03-15 9 views
5

내 WCF 응용 프로그램 내에서 매우 간단한 세션 개체를 사용하거나 자극해야합니다.WCF 응용 프로그램의 세션 변수

전화 시작시 일부 값을 저장하기 만하면됩니다. 서비스의 여러 가지 다른 방법을 수행하는 동안이 값에 액세스해야합니다.

Asp.NET 세션은 매우 이상적이므로이 값을 저장하기 위해 WCF 응용 프로그램에서 사용할 수있는 것을 찾아야합니다.

참고 : 이것은 단지 콜 세션 당, 당신이 몇 가지를해야 .. 서비스 및 클라이언트에서

답변

4

설명 (단일 요청의 수명 동안 유지되는 사용자 지정 컨텍스트)은 ASP.NET 세션보다 HttpContext.Items에 가깝습니다.

WCF에는 HttpContext과 비슷한 클래스 OperationContext이 있습니다. 사용자 지정 컨텍스트에는 Items 속성이 없지만 원하는 내용을 얻는 데 사용할 수있는 기술은 this blog post입니다.

+2

@Joe 링크가 끊어졌습니다. 더 많은 정보를 제공 할 수 있습니까? 고맙습니다! –

2

를 다른 통화 사이의 세션을 유지할 필요가없는 것입니다. 마지막으로 당신이

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)] 

: - |

설정 aspNetCompatibilityEnabled = 호스트에 사실 (는 system.serviceModel 내부 serviceHostingEnvironment)

서비스 (하지 계약는)으로 기인한다 바인딩에서 allowCookies를 true로 설정해야합니다.

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

그냥 궁금해서, 당신은 당신이 확신 필요 세션?

+0

내가 가정 한 서비스에서 설정해야합니까? – Enzero

+1

가 클라이언트에 설정되어야합니다. – Arvind