5

私が見たドーナツキャッシングのすべての例は、次のようなものです。

 <%= Html.Substitute( c => DateTime.Now.ToString() )%>

日付のみが必要な場合は問題ありませんが、他にどのようなオプションがありますか?

次の署名を持つデリゲート「MvcSubstitutionCallback」があることを私は知っています:

 public delegate string MvcSubstitutionCallback(HttpContextBase httpContext); 

しかしRenderActionRenderPartialvoid を返すので、デリゲート メソッドからそれらを返すことはできません。より複雑な状況でこのコールバックを効果的に使用するにはどうすればよいですか?

Phil Haacked の記事herehereの両方を見てきましたが、どちらも私が望んでいることとまったく同じようには見えません。

4

4 に答える 4

3

これはMvc1.0では機能しましたが、Mvc2.0では機能しなくなったことに注意してください。ここを参照してください:http://haacked.com/archive/2008/11/05/donut-caching-in-asp.net-mvc.aspx

于 2010-04-20T11:39:54.150 に答える
3

「ドーナツ キャッシング」とは、Response.WriteSubstitution メソッドを使用することを意味します。MVC ソースを見ると、System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial メソッドが Response.Output (HtmlHelper.cs、277 行目 - 'RenderPartialInternal' メソッドの最後の行) を使用していることがわかります。そのため、独自に作成する必要があります。より複雑な状況を処理するための html ヘルパー。

于 2009-05-15T17:03:33.423 に答える
1

ASP.NET MVC 3 用に更新された記事は次のとおりです。

http://dotnetslackers.com/articles/aspnet/Cache-Exploration-in-ASP-NET-MVC-3-Part-1.aspx

于 2011-01-14T21:43:07.237 に答える
0

次の記事が参考になるかもしれません: http://www.asp.net/Learn/mvc/tutorial-19-cs.aspx (Adding Dynamic Content to a Cached Page in ASP.NET MVC)

于 2009-11-07T23:53:14.780 に答える