我正在尝试通过更改服务合同来禁用WCF服务的会话
[ServiceContract(Namespace = "http://company.com/Services/", SessionMode = SessionMode.NotAllowed)]
public interface IService
{ }
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class Service: IService
{ }
然后我用调试器进入Operation,我可以看到HttpContext.Current.Session是有效的对象。
我对WCF操作的可用会话状态缺少什么?
答案 0 :(得分:2)
这是一个老问题,但禁用ASP.Net会话RequirementsMode应该是AspNetCompatibilityRequirementsMode.NotAllowed
答案 1 :(得分:0)
您可以使用Instance上下文模式。见:http://msdn.microsoft.com/en-us/magazine/cc163590.aspx
您有3种选择:
听起来你所追求的是每次通话。您可能能够在调试器中看到会话对象,但是一旦调用返回它就会被释放。