首页 新闻 搜索 专区 学院

在windows服务器上获取memcache缓存问题

0
悬赏园豆:10 [已解决问题] 解决于 2015-02-27 08:50

最近在做腾讯QQ登录,想使用memcache保存用户信息,以实现记住登录功能。

在同一台服务器上有二个.net应用程序A和B,同时还安装有一个memcached服务,版本是1.26。

A应用和B应用都是采用ado.net + MVC5。A应用为passport.xxx.com,B应用为blog.xxx.com.

A应用就是一个登录QQ功能,用来实现QQ登录并将登录信息写入memcache和cookie.

现在遇到问题:

1、在A应用已经实现了所有的登录功能,登录、记住登录状态等己实现。

2、而B应用需要共享A应用的用户登录信息,所以用户在A应用登录成功时将用户的openid存入了cookie。

3、B应用己正常获取到A应用的cookie。但是B应用在使用此cookie从memcache中获取数据时为null。

4、使用telnet客户端连接memcache服务器,可以正常获取数据。

已经排过的错:

A应用写入的key和B就用获取的key一致。

缓存没有过期。

telnet可以获取数据。

在各自的应用内,memcache服务功能全部正常。

最后的问题就是:

A应用写入的缓存在B应用获取不到。

附上主要代码:

这是B应用的OnActionExecuting

View Code

下面是CacheHelper的代码:

View Code

web.config中的代码:

<add key ="memcachedServer" value="127.0.0.1:11211"/>


其中A应用和B应用都是用的这个CacheHelper代码。

 

实在是找不到方法了,故来博客园相求,请各位大神不吝赐教。

问题补充:

暂无。

DZCMS的主页 DZCMS | 初学一级 | 园豆:5
提问于:2015-02-25 19:18
< >
分享
最佳答案
0

问题已经解决。

经过各种测试,排错,跟踪,新建项目排错等。最后发现问题发生在保存的value上面,原先A应用保存的是对象,后改为Json字符串后就可以在B应用获取到了。

而value保存为对象时只有本应用自己才能获取。

DZCMS | 初学一级 |园豆:5 | 2015-02-27 08:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册