gpt4 book ai didi

c# - 无法进行简单的 enyim memcached 测试或 log4net 工作

转载 作者:行者123 更新时间:2023-11-30 12:48:36 28 4
gpt4 key购买 nike

我实际上是在尝试获取 protobuf-net transcoder继续,但在我这样做之前,我需要让 enyim/memcached 设置正常工作,并且可用的文档很少,我遇到了麻烦。这是我的简单 .net 测试:

using Enyim.Caching;
using Enyim.Caching.Memcached;
....

MemcachedClient Cache = new MemcachedClient();
string key = "somekey";
string objectToCache = "someval";
Cache.Store(StoreMode.Set, key, objectToCache, DateTime.Now.AddMinutes(1000000));
string test = Cache.Get(key) as string; //...it's null though

我的 memcached 服务器包 1.4.14 (x64) 是 here并且似乎作为 Windows 服务运行良好,我正在为 enyim 和 protobuf 使用最新的 nuget 包,但是(即使关闭了转码,所以纯 enyim/memcached)没有运气。然后,再次使用 nuget 包 EnyimMemcached-log4net 尝试按照指示通过我的 web.config 打开 log4net here ,我得到这个错误:

Could not load file or assembly 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)":"log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821

...这似乎是 nuget 返回错误版本的 log4net(项目引用说 1.2.11),即使它正在处理依赖项本身。所以我什至不明白为什么 enyim 无法存储/获取。

实现此功能的正确步骤是什么?

编辑:通过注释掉任何对持续时间的引用,它起作用了(包括转码)。

Cache.Store(StoreMode.Set, key, objectToCache); //, DateTime.Now.AddMinutes(1000000));

所以,稍微修改一下原来的问题:使用 expiresAt 有什么问题吗?有没有一种简单的方法可以让 log4net 在当前的 enyim 化身中工作?

最佳答案

答案似乎是错误的 memcached 构建,请参阅 this question .我无法确认这一点,因为 1.4.5 的 couchbase d/l 不能作为适当的 Windows 服务运行(因为我的缓存层必须如此)。

就 log4net/enyim 版本控制而言,在通过 VS 扩展管理器提示时更新 nuget 包管理器似乎已经解决了它,尽管我从未找出原因。

关于c# - 无法进行简单的 enyim memcached 测试或 log4net 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13676026/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com