在两个WCF不同服务之间共享ASP.NET会话状态

时间:2010-03-16 11:58:08

标签: asp.net wcf session-state

我有两个配置了ASP.NET兼容模式的WCF服务,允许它们使用ASP.NET会话状态。问题如下:

1.-对第一个服务的调用会在ASP.NET会话状态中存储一个值。 2.-第一次服务的第二次调用可以读取该值。

但是...

3.-对第二个服务的调用无法读取ASP.NET会话状态值。

似乎两个WCF服务之间不共享ASP.NET会话状态。

有没有办法在两个WCF服务之间共享ASP.NET会话状态?

3 个答案:

答案 0 :(得分:1)

如果2个服务共享数据库,您可以在那里实现会话存储。您将能够在不同的服务或应用程序之间共享信息。

答案 1 :(得分:0)

这两个电话会产生两个不同的会话,所以答案是肯定的。您可能需要找到一些自定义方法来处理这个问题。

通常,服务调用应该是原子的,并且不应该以这种方式依赖会话 - 如果你可以使它完全不使用会话,那么这是最好的解决方案。

答案 2 :(得分:0)

这个场景可能需要的是实现一个持久的服务来保持调用之间的状态。代理类可以用于第二服务以查询第一个服务的会话状态。我不确定为什么要这样做但如果它有用,请看看这个链接: https://www.microsoftpressstore.com/articles/article.aspx?p=2228448&seqNum=3