2012-12-03 42 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