推測緣由是老系統中有地方引用了舊版本的 StackExchange.Redis,緣由是 StackExchange.Redis 1.2.6 版本未提供針對 .net 4.6 以上的支持,致使庫引用會失敗,目前已經發布了新版本,支持 .net 4.6.1,能夠更新到最新的 Senparc.Weixin.Cache.Redis:https://www.nuget.org/packages/Senparc.Weixin.Cache.Redis redis
測試版已經打包,能夠參考其中的必要設置,下載:https://files.cnblogs.com/files/szw/Cache-Test-WebApplication2.zip緩存
測試方法:微信
一、打開解決方案分佈式
二、Ctrl+F5 打開 IISExpress 調試測試
三、點擊頂部「關於」菜單,進入測試頁面(http://localhost:55428/Home/About)網站
正確狀況下能夠返回以下字符串:ui
排除問題請下載官方Demo進行測試。spa
當前測試項目中的關鍵設置代碼(global.asax.cs)以下:.net
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, "測試"); } } }