是否有办法全局启用会话(即在web.config中)而不是Web服务中的每个方法?
我们有一个庞大的(wcf)webservice,有许多方法,我宁愿不必进入并为每个方法添加属性......
答案 0 :(得分:0)
在谷歌上快速搜索会告诉您需要在ServiceContract上指定属性,而不是在方法级别。
[ServiceContract(Namespace="http://Microsoft.ServiceModel.Samples", SessionMode=SessionMode.Required)]
public interface ICalculatorSession
此外,WCF会话表示为服务实例(作为CLR对象),状态是每个服务实例的一部分。会话由调用WCF客户端启动。 WCF依靠特殊上下文来为会话提供关联:会话通道,安全对话,可靠消息传递等。
WCF会话与ASP.NET Session不同。要使用ASP.NET会话,您需要在WCF服务上启用ASP.NET兼容模式。
[AspNetCompatibilityRequirements(RequirementsMode =AspNetCompatibilityRequirementsMode.Required)]
public class CalculatorService : ICalculatorSession
有用的链接:
答案 1 :(得分:0)
好的,我找到了一个更好的方法。我现在使用的是MemoryCache,它是System.Runtime.Caching的一部分