2012-12-03 51 views
4

我实际上试图得到protobuf-net transcoder去,但在我能做到这一点之前,我需要得到enyim/memcached设置工作,并与可用的文件很少,我有麻烦。这里是我的简单的.NET测试:不能得到简单的enyim memcached测试或log4net工作

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(64)是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化身中工作?

+0

我会从这个问题中删除protobuf网,因为它并没有真正对碰在所有 –

+0

同样的事情发生在我身上,是你能解决这个问题? –

回答

1

答案似乎是memcached的糟糕构建,请参阅this question。我无法确认,因为1.4.5的couchbase d/l不能作为正确的Windows服务运行(因为我的缓存层必须)。

就log4net/enyim版本而言,当通过VS扩展管理器提示时更新nuget软件包管理器似乎已经解决了它,尽管我从未孤立过这个原因。

0

我有“无法加载文件或程序集'log4net,版本= 1.2.10.0”错误以及。

在我的情况下,事实证明; 'EnyimMemcached-log4net'NuGet包需要'log4net'的1.2.10.0版本,尽管在依赖关系中没有特别提到它。安装所需的log4net软件包为我解决了它。

Install-Package log4net -version 1.2.10.0 
相关问题