在 WCF 中使用会话

Anu*_*ani 2 c# session wcf

这是我尝试Session在我的 WCF 应用程序中使用 的方法:

 System.Guid guid = System.Guid.NewGuid();
 string id = guid.ToString();
 HttpContext.Current.Session[id] = "AnyThing";
Run Code Online (Sandbox Code Playgroud)

但我收到此错误消息:

未将对象引用设置为对象的实例。

这是Session在 WCF 应用程序中使用 的正确方法吗?或者还有另一种方法可以在 WCF 中存储数据吗?

小智 5

您需要启用ASP.NET 兼容模式

网页配置

<system.serviceModel>
  <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
</system.serviceModel>
Run Code Online (Sandbox Code Playgroud)

您的 WCF 服务需要将AspNetCompatibilityRequirementsAttribute设置为“必需”或“允许”。

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class CalculatorService : ICalculatorSession
Run Code Online (Sandbox Code Playgroud)