2012-11-30 1 views
3

protobuf-net에서 encyim 캐시로의 트랜스 코더가 더 이상 사용되지 않습니까? 내가 = "ProtoBuf.Caching.Enyim.NetTranscoder"/EnyimMemcached 문제의 protobuf-net 트랜스 코더

트랜스 코더 유형을 사용하기위한 MemcachedClient() 같은를 시작하려고하면 그냥이 app.config처럼 내 Enyim의 설정을 설정 distributed caching with protobuff-net

오류가 발생합니다

System.TypeInitializationException was unhandled by user code 
HResult=-2146233036 
Message=The type initializer for 'Enyim.Caching.MemcachedClient' threw an exception. 
Source=Enyim.Caching 
TypeName=Enyim.Caching.MemcachedClient 
StackTrace: 
    at Enyim.Caching.MemcachedClient..ctor() 
    at Global.asax.cs:line 31 
InnerException: System.Configuration.ConfigurationErrorsException 
    HResult=-2146232062 
    Message=The value of the property 'transcoder' cannot be parsed. The error is: Object reference not set to an instance of an object. (\web.config line 207) 
    Source=System.Configuration 
    BareMessage=The value of the property 'transcoder' cannot be parsed. The error is: Object reference not set to an instance of an object. 
    StackTrace: 
     at System.Configuration.BaseConfigurationRecord.EvaluateOne(String[] keys, SectionInput input, Boolean isTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult) 
     at System.Configuration.BaseConfigurationRecord.Evaluate(FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult, Boolean getLkg, Boolean getRuntimeObject, Object& result, Object& resultRuntimeObject) 
     at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject) 
     at System.Configuration.BaseConfigurationRecord.GetSection(String configKey) 
     at System.Web.HttpContext.GetSection(String sectionName) 
     at System.Web.Configuration.HttpConfigurationSystem.GetSection(String sectionName) 
     at System.Web.Configuration.HttpConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection(String configKey) 
     at System.Configuration.ConfigurationManager.GetSection(String sectionName) 
     at Enyim.Caching.MemcachedClient..cctor() in MemcachedClient.cs:line 25 
    InnerException: 

은 모두 nuget 가능한 최신 버전을 사용을 통해 설치했습니다.

답변

3

예 (기침), 물론이에요! 그냥 "protobuf-net.Enyim"를 참조 즉

PM> 설치 - 패키지 protobuf - net.Enyim

(또는 GUI 클라이언트 사용)

초기화를, 당신이 필요 트랜스 코더가 ProtoBuf.Caching.Enyim.NetTranscoder의 인스턴스가되도록 구성하십시오 (원래 지침대로). 구성을 통해이 작업을 수행하는 경우이 유형의 어셈블리가 이제 protobuf-net.Enyim임을 유의하십시오. 내가 구성 파일은 표준 표기법을 사용하는 가정하면, 그 다음은 (는 config에서)를 지정해야 의미

<transcoder type="ProtoBuf.Caching.Enyim.NetTranscoder,protobuf-net.Enyim" /> 

원래 답 :

enyim 트랜스 코더가 nuget에서 현재 사용하지 않는; 그러나 -. 나는 지금는이 다시 추가하는 별도의 NuGet 패키지 (참조 EnyimMemcached 및 protobuf - 그물을)를 추가하여, 그 부활하는 나 자신에 걸릴 것

무작위 질문을 ... 혹시 당신은 가리킬 수 있습니다 테스트를 위해 바이너리 memcached 다운로드에서 나에게? 이 느껴지있다

한 이유는 내가 처음이 enyim 트랜스 코더를 쓸 때, memcached를했다하는 간단한 "이 실행"-하지만 마지막으로 나는 모든 "기업용 특성"갔다 보았다, 나는 아래로 추적 할 수 방금 memcached 서버가있는 간단한 패키지. 내가 인데,이 지금 어디에 있는지 알려 주시면 이번 주말에 작업하겠습니다.

+0

이 방법이 유용할까요? 1.4.5에서 작동하는 것으로 확인 된 최신 버전. [x86] (http://downloads.northscale.com/memcached-1.4.5-x86.zip) [amd64] (http://downloads.northscale.com/memcached-1.4.5-amd64.zip) I 필요한 경우 기꺼이 도울 것입니다. –

+0

@TadeuMaia는 나중에 보일 것입니다 - ta –

+0

@TadeuMaia 편집보기 –