在.net webservice中全局启用Session



是否有一种方法可以全局启用会话(即在web.config中),而不是在web服务中的每个方法上?

我们有一个巨大的(wcf) web服务,有很多很多方法,我宁愿不去为每个方法添加属性.....

在google上快速搜索一下就会发现,您需要在ServiceContract上而不是在方法级别上指定属性。

[ServiceContract(Namespace="http://Microsoft.ServiceModel.Samples", SessionMode=SessionMode.Required)]
public interface ICalculatorSession

此外,WCF会话被表示为服务实例(作为CLR对象),状态是每个服务实例的一部分。会话由调用WCF客户端发起。WCF依赖于特殊的上下文来为会话提供相关性:会话通道、安全会话、可靠消息传递等。

WCF会话与ASP不一样。网络会议。要使用ASP。. NET会话,您需要启用asp.net。. NET兼容模式。

[AspNetCompatibilityRequirements(RequirementsMode =AspNetCompatibilityRequirementsMode.Required)]
    public class CalculatorService : ICalculatorSession

的有用链接:

使用会话

ASP。净兼容性

好吧,我找到了一个更好的方法。我现在使用MemoryCache,它是System.Runtime.Caching的一部分

最新更新