WCF应用程序中的会话变量

我需要在我的WCF应用程序中使用或激发一个非常简单的会话对象。

我只需要在调用开始时存储一些值,我需要访问这些值,同时我会通过一些不同的服务方法。

Asp.NET会话非常适合用于此,因此我需要找出WCF应用程序上可用于存储此类值的内容。

注意:这只是一个每次通话会话,我不需要在从客户端到服务等的不同调用之间保留此会话。

您所描述的内容(在单个请求的生命周期中保留的自定义上下文)更像是HttpContext.Items不是ASP.NET会话。

WCF确实有一个名为OperationContext的类,它类似于HttpContext 。 它没有自定义上下文的Items属性,但是这篇博文描述了一种可用于实现所需内容的技术。

你必须要做几件事。

在主机上设置aspNetCompatibilityEnabled = true (在system.ServiceModel | serviceHostingEnvironment内)

服务( 不是合同 ) – 应该归因于:

 [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)] 

最后,您必须将绑定上的allowCookies设置为true。

    

只是好奇,你确定你需要会话吗?