2012-12-02 15 views
0

我試圖使用南希插件Nancy.LightningCacheNancy.LightningCache - 拋出時AsCachable()被調用

按照docs我應該能夠建立我的緩存很容易,這樣的例外:

引導程序

protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines) 
{ 
    base.ApplicationStartup(container, pipelines); 
    this.EnableLightningCache(
      container.Resolve<IRouteResolver>(), 
      ApplicationPipelines, 
      new[] {"id", "claim", "query", "take", "skip"}); 
} 

路線

Get["/profile"] = _ => 
View["UserProfileView", Model].AsCacheable(DateTime.Now.AddSeconds(30)); 

當這條路線被調用時,我得到以下異常。

Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: 
'Nancy.Responses.Negotiation.Negotiator' does not contain a definition for 'AsCacheable' 

任何想法?

回答

0

好吧,明白了。

工作路線

return View["HomeView", (object)Model].AsCacheable(DateTime.Now.AddMinutes(1)); 

你可以看到,我已經被迫到我的模型進行明確強制轉換爲object,以滿足AsCachable擴展方法的簽名。

該問題僅在運行時顯示,因爲我的型號是ExpandoObject,因此dynamic類型。

相關問題