C# WCF应用程序中的会话变量

C# WCF应用程序中的会话变量,c#,.net,wcf,web-services,C#,.net,Wcf,Web Services,我需要在我的WCF应用程序中使用或激发一个非常简单的会话对象 我只需要在调用开始时存储一些值,并且在使用服务的一些不同方法时需要访问这些值 Asp.NET会话非常适合用于此目的,因此我需要了解WCF应用程序上可用于存储此类值的内容 注意:这只是一个每次呼叫会话,我不需要在从客户端到服务的不同呼叫之间保留此会话,诸如此类。您必须做几件事 在主机上设置aspNetCompatibilityEnabled=true(在system.ServiceModel | serviceHostingEnviro

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

我只需要在调用开始时存储一些值,并且在使用服务的一些不同方法时需要访问这些值

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


注意:这只是一个每次呼叫会话,我不需要在从客户端到服务的不同呼叫之间保留此会话,诸如此类。

您必须做几件事

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

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

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
最后,您必须将绑定上的allowCookies设置为true

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

只是好奇,你确定你需要治疗吗

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


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

应该在我假设的服务中设置?应该在client@Joe链接断了。你能提供更多的信息吗?非常感谢。