Caching Spring.NET缓存有问题吗

Caching Spring.NET缓存有问题吗,caching,spring.net,Caching,Spring.net,我一直在读这篇文章,以帮助我开始我的缓存,我遇到了一个问题。当我尝试调用下面的方法时,出现以下错误: "Cannot initialize property or field node 'LocalTariffId' because the specified context is null." 我认为下面使用的属性语法在返回缓存数据时会使用结果的LocalTariffId属性。当我尝试单步执行该方法时,就会发生此错误。在我看来,这似乎是试图访问该财产太早。我一定错过了一些东西,所以非常感谢您

我一直在读这篇文章,以帮助我开始我的缓存,我遇到了一个问题。当我尝试调用下面的方法时,出现以下错误:

"Cannot initialize property or field node 'LocalTariffId' because the specified context is null."
我认为下面使用的属性语法在返回缓存数据时会使用结果的LocalTariffId属性。当我尝试单步执行该方法时,就会发生此错误。在我看来,这似乎是试图访问该财产太早。我一定错过了一些东西,所以非常感谢您提供的任何建议

[CacheResult("AspNetCache", "'LocalTariff.Id=' + LocalTariffId", TimeToLive = "00:10:00")]
public Domain.LocalTariffs.LocalTariff GetDefault(string agencyCode)
在第一个错误之后,我也遇到了一个奇怪的错误,我希望有人能解释一下。至少我认为它与log4net有关。我的日志正在运行,所以我不确定这是关于什么的

IGCSoftware.HHG.Business.LocalTariffsFacade - Exception thrown in GetDefaultLocalTariff;GetDefaultLocalTariff;9c0bb393-369c-4501-a2ce-9325fe525e38;183341 ms
<log4net.Error>Exception rendering object type [Spring.Core.NullValueInNestedPathException]<stackTrace>System.BadImageFormatException: The parameters and the signature of the method don't match.
   at System.Reflection.RuntimeParameterInfo.GetParameters(IRuntimeMethodInfo methodHandle, MemberInfo member, Signature sig, ParameterInfo& returnParameter, Boolean fetchReturnParameter)
   at System.Reflection.RuntimeMethodInfo.FetchNonReturnParameters()
   at System.Reflection.RuntimeMethodInfo.GetParameters()
   at System.Diagnostics.StackTrace.ToString(TraceFormat traceFormat)
   at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
   at System.Exception.GetStackTrace(Boolean needFileInfo)
   at System.Exception.ToString(Boolean needFileLineInfo)
   at System.Exception.ToString()
   at log4net.ObjectRenderer.DefaultRenderer.RenderObject(RendererMap rendererMap, Object obj, TextWriter writer)
   at log4net.ObjectRenderer.RendererMap.FindAndRender(Object obj, TextWriter writer)</stackTrace></log4net.Error>
IGCSoftware.HHG.Business.LocalTariffsFacade-GetDefaultLocalTariff中抛出的异常;关税;9c0bb393-369c-4501-a2ce-9325fe525e38;183341毫秒
呈现对象类型[Spring.Core.NullValueInTestedPathException]System.BadImageFormatException]异常:方法的参数和签名不匹配。
在System.Reflection.RuntimeParameterInfo.GetParameters(IRuntimeMethodInfo方法句柄、MemberInfo成员、签名sig、ParameterInfo&returnParameter、Boolean fetchReturnParameter)
在System.Reflection.RuntimeMethodInfo.FetchNonReturnParameters()中
在System.Reflection.RuntimeMethodInfo.GetParameters()中
at System.Diagnostics.StackTrace.ToString(TraceFormat TraceFormat)
位于System.Environment.GetStackTrace(异常e,布尔needFileInfo)
位于System.Exception.GetStackTrace(布尔needFileInfo)
位于System.Exception.ToString(布尔值needFileLineInfo)
在System.Exception.ToString()中
在log4net.ObjectRenderer.DefaultRenderer.RenderObject(renderMap renderMap,Object obj,TextWriter writer)
在log4net.ObjectRenderer.RenderMap.FindRender(对象obj,TextWriter)中

不能使用返回的对象生成CacheResult属性的键。
您必须使用该方法的参数来生成密钥(此处为“#agencyCode”)。

Bruno,关于您帖子底部的这篇帖子,我以为您引用了返回对象的属性([CacheResultItems(“thingById”,“Id”)]//将使用Thing.Id作为密钥)。你能给我再澄清一下吗?