我正在使用带有WCF服务的asp.net网站,具有wsHttpBinding,启用了Aspnet兼容性,指定为Sessionmode -allowed,启用了服务行为,启用了客户端会话cookie。它看起来像Asp.Net会话对象和WCF会话(HTTPContext.Current.Session)独立工作。如何将Asp.net会话值分享给WCF会话,反之亦然。
答案 0 :(得分:1)
我建议您不要让您的Web服务依赖于托管环境,而是建议您将所需的参数添加到操作合同中,以便消费者传递它,在您的情况下是一个ASP.NET应用程序,它将从会话。
答案 1 :(得分:0)
在您的服务界面中:
[ServiceContract]
public interface IService
{
[OperationContract]
string GetSessionValue();
[OperationContract]
void SetSessionValue(string value);
}
在你的svc中:
public class Service1 : IService
{
public string GetSessionValue()
{
return "your value";
}
public void SetSessionValue(string value)
{
// your code here
}
}
最后从后面的Web代码中使用该方法。
答案 2 :(得分:0)
我搜索了很多但找不到方法。我找到的唯一选项是在同一个虚拟目录中使用启用cookie的服务。最好将其保持为RESTful服务
答案 3 :(得分:0)