【问题标题】:Session support in self-hosted WCF Data Service自托管 WCF 数据服务中的会话支持
【发布时间】:2014-04-15 11:29:44
【问题描述】:

我创建了一个自托管的 WCF 数据服务,如您所见 here,我发现它不支持 ASP.Net 上下文(HttpContext.Current 为空)。

如果我认为会话处理在自托管数据服务中也不可用是否正确?

【问题讨论】:

    标签: c# .net web-services wcf wcf-data-services


    【解决方案1】:

    会话处理在自托管 WCF 数据服务中不可用,因为它使用了依赖于 ASP.Net 上下文的 HttpContext 类,它是 always null在数据服务中。 因此,您必须实施自定义解决方案来模拟 WCF 数据服务中的会话处理。

    【讨论】:

      【解决方案2】:

      在自托管服务中,您应该能够使用带有 ServiceContractAttribute.SessionMode 属性的 SessionMode 枚举来要求、允许或禁止绑定以使用连接到或支持服务合同的端点之间的会话。
      例如,如果SessionMode 属性设置为SessionMode.Allowed 并且ServiceBehaviorAttribute.InstanceContextMode 属性设置为InstanceContextMode.PerSession,则客户端可以使用支持可靠会话的绑定来重复调用同一服务对象。如果您的服务支持会话,那么您可以使用 `ServiceBehaviorAttribute.InstanceContextMode' 属性来指定服务合同实现的实例与通道会话之间的关系。

      以下链接提供了很好的参考信息:
      http://msdn.microsoft.com/en-us/library/ff183865.aspx
      http://msdn.microsoft.com/en-us/library/system.servicemodel.sessionmode.aspx

      问候,

      【讨论】:

      猜你喜欢
      • 2012-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-26
      • 2013-02-27
      • 1970-01-01
      • 2011-11-07
      相关资源
      最近更新 更多