关于 Senparc.Weixin.Cache.Redis 引用的 StackExchange.Redis 版本不匹配的反馈测试

  推测原因是老系统中有地方引用了旧版本的 StackExchange.Redis,在新项目中测试一切正常,下面提供了一个原始的项目下载:

  https://files.cnblogs.com/files/szw/Cache-Test-WebApplication2.rar

  测试方法:

  1、打开解决方案

  2、Ctrl+F5 打开 IISExpress 调试

  3、点击顶部“关于”菜单,进入测试页面(http://localhost:55428/Home/About)

  正确情况下可以返回如下字符串:

  

  排除问题请下载官方Demo进行测试。

  当前测试项目中的关键设置代码(global.asax.cs)如下:

using Senparc.CO2NET;
using Senparc.CO2NET.Cache;
using Senparc.CO2NET.RegisterServices;
using Senparc.Weixin;
using Senparc.Weixin.Cache.Redis;
using Senparc.Weixin.Entities;
using Senparc.Weixin.MP;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Optimization;
using System.Web.Routing;

namespace WebApplication2
{
    public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            var redisConnectionString = "localhost:6379";
            //全局配置
            //全局设置参数,将被储存到 Senparc.CO2NET.Config.SenparcSetting
            Senparc.CO2NET.Cache.Redis.Register.SetConfigurationOption(redisConnectionString);
            Senparc.CO2NET.Cache.Redis.Register.UseKeyValueRedisNow();//键值对缓存策略(推荐)

            var senparcSetting = SenparcSetting.BuildFromWebConfig(false);
            var register = RegisterService.Start(senparcSetting)
                                          .UseSenparcGlobal(false, () => {
                                              var exContainerCacheStrategies = new List<IDomainExtensionCacheStrategy>();
                                              senparcSetting = senparcSetting ?? new SenparcSetting();
                                              exContainerCacheStrategies.Add(RedisContainerCacheStrategy.Instance);
                                              return exContainerCacheStrategies;
                                          })
                                          .RegisterThreads()//启动线程,RegisterThreads()也可以省略,在Start()中已经自动注册
                                          .ChangeDefaultCacheNamespace(senparcSetting.DefaultCacheNamespace);// 当同一个分布式缓存同时服务于多个网站(应用程序池)时,可以使用命名空间将其隔离(非必须)

            //微信配置
            var senparcWeixinSetting = SenparcWeixinSetting.BuildFromWebConfig(false);
            register.UseSenparcWeixin(senparcWeixinSetting, senparcSetting)
                    .RegisterMpAccount(senparcWeixinSetting.WeixinAppId, senparcWeixinSetting.WeixinAppSecret, "测试");
        }
    }
}

原文地址:https://www.cnblogs.com/szw/p/10209830.html

时间: 2024-10-19 22:22:05

关于 Senparc.Weixin.Cache.Redis 引用的 StackExchange.Redis 版本不匹配的反馈测试的相关文章

Redis集群~StackExchange.redis连接Twemproxy代理服务器

回到目录 本文是Redis集群系列的一篇文章,主要介绍使用StackExchange.Redis进行Twemproxy(文中简称TW)代理服务的连接过程,事务上,对于TW来说,我们需要理解一下它的物理架构,它类似于Nugix,主要实现的是请求转发,但它还有一个重要的功能,那就是自动分片,这对于大数据是很必要的,你的服务器需要横向扩展时,不需要告诉客户端,这是一种很理解化的设计模式,当然,也对于Redis来说,在配置TW之后,是可以被全美支持的! 关于tw和Redis集群的设计图 关于StackE

Redis学习笔记~StackExchange.Redis实现分布式Session

回到目录 对于多WEB的环境现在已经是必须的了,很难想像一台WEB服务器面对百万并发的响应,所以,我们需要多台WEB服务器集群合作,来缓解这种高并发,高吞吐的场景,而对于多WEB的场景又会有个问题出现,即session存储的问题,如一个用户登陆后,把一个状态信息存储到当前WEB服务器的session里,而你请求其它页面时,很可能就被路由到另一台服务器了,这时,session也就丢了,而对于这种情况,有人把redis这个存储中间件想了起来,对它进行了封装,就有了今天基于redis的session共

Redis集群~StackExchange.redis连接Sentinel服务器并订阅相关事件(原创)

回到目录 对于redis-sentinel我在之前的文章中已经说过,它是一个仲裁者,当主master挂了后,它将在所有slave服务器中进行选举,选举的原则当然可以看它的官方文章,这与我们使用者没有什么关系,而对于sentinel来说,它在进行主从切换时,会触发相关事件,这是和我们开发人员有关系的,如当+switch-master事件被触发时,说明当前Sentinal已经完成了一次主从的切换,并所有服务已经正常运转了. 下面是我这几天作的测试,对于Twemproxy代理和Sentinal哨兵都已

微信公众平台C# SDK:Senparc.Weixin.MP.dll

https://github.com/Senparc/WeiXinMPSDK [转] http://www.cnblogs.com/szw/archive/2013/01/13/senparc-weixin-mp-sdk.html 微信公众账号 Senparc.Weixin.MP SDK 开发教程 索引 Senparc.Weixin.MP SDK从一开始就坚持开源的状态,这个过程中得到了许多朋友的认可和支持. 目前SDK已经达到比较稳定的版本,这个过程中我觉得有必要整理一些思路和经验,和大家一起

C# StackExchange.Redis 简单使用

安装 StackExchange.Redis 在 NuGet 中搜索 StackExchange.Redis 和 Newtonsoft.Json,直接点击按钮安装即可. StackExchange.Redis 是 C# 操作 Redis 数据库的客户端. Newtonsoft.Json 用来序列化 Josn 字符串及反序列化拿到对象. 引用及初始化 引用 using StackExchange.Redis; using Newtonsoft.Json; 初始化 redis ConnectionM

Senparc.Weixin.TenPay 正式发布

微信支付刚出来的时候,和公众号的绑定关系很深(甚至旧版本使用的就是公众号的appId),随着微信生态的逐步丰富,微信支付越来越成为一个独立的平台,同时服务于公众号.小程序.开放平台.企业号/企业微信等诸多平台,甚至微信支付本身也有了一些独立的功能. 早期,顺应微信支付的设计,我们在 Senparc.Weixin.MP(公众号模块)中嵌入了微信支付功能,经过连续 6 年的迭代升级,微信支付已经扩展到QY(企业号).Work(企业微信).Open(开放平台).WxOpen(小程序)等模块,其中出现了

Senparc.Weixin微信开发(3) 自定义菜单与获取用户组

自定义菜单 代码参考:http://www.cnblogs.com/szw/p/3750517.html 还可以使用他们官网的自定义:https://neuchar.senparc.com/User/WeixinMenu 注册好,再先弄好配置.直接可以推送. 获取用户组 /// <summary> /// 取得用户组 /// </summary> /// <returns></returns> public JsonResult GetGroupList()

Windows下Redis缓存服务器的使用 .NET StackExchange.Redis Redis Desktop Manager

Redis缓存服务器是一款key/value数据库,读110000次/s,写81000次/s,因为是内存操作所以速度飞快,常见用法是存用户token.短信验证码等 官网显示Redis本身并没有Windows版本的,微软官方开发了基于Windows的Redis服务器:MSOpenTech/redis 一.Redis服务端 首先下载Redis服务器,点击前往下载.msi版本,双击安装Redis服务端就有了,并以服务的形式随系统一起启动: 安装好Redis服务器之后第一件事就是设置密码,进入安装目录:

Senparc.Weixin.MP SDK 微信公众平台开发教程(三):微信公众平台开发验证

原文:Senparc.Weixin.MP SDK 微信公众平台开发教程(三):微信公众平台开发验证 要对接微信公众平台的"开发模式",即对接到自己的网站程序,必须在注册成功之后(见Senparc.Weixin.MP SDK 微信公众平台开发教程(一):微信公众平台注册),等待官方审核,审核通过之后,会在后台顶部出现“高级功能”菜单. 使用“高级功能”>“开发模式”之前,必须有一个已经部署在Internet上,可以用80端口访问的网站(域名或IP访问都可以),一些开发的准备工作见文