Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
Traduction
Source

OutputCacheAttribute, classe

Représente un attribut utilisé pour marquer une méthode d'action dont la sortie doit être mise en cache.

Espace de noms :  System.Web.Mvc
Assembly :  System.Web.Mvc (dans System.Web.Mvc.dll)

[AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Method, Inherited = true, 
	AllowMultiple = false)]
public class OutputCacheAttribute : ActionFilterAttribute, 
	IExceptionFilter

Le type OutputCacheAttribute expose les membres suivants.

  NomDescription
Méthode publiqueOutputCacheAttributeInitialise une nouvelle instance de la classe OutputCacheAttribute.
Début

  NomDescription
Propriété publiqueAllowMultipleObtient ou définit une valeur qui indique s'il est possible de spécifier plusieurs instances de l'attribut de filtre. (Hérité de FilterAttribute.)
Propriété publiqueCacheProfileObtient ou définit le nom de profil du cache.
Propriété publiqueMembre statiqueChildActionCacheObtient ou définit le cache des actions enfants.
Propriété publiqueDurationObtient ou définit la durée du cache, en secondes.
Propriété publiqueLocationObtient ou définit l'emplacement.
Propriété publiqueNoStoreObtient ou définit une valeur qui indique s'il faut stocker le cache.
Propriété publiqueOrderObtient ou définit l'ordre dans lequel les filtres d'action sont exécutés. (Hérité de FilterAttribute.)
Propriété publiqueSqlDependencyObtient ou définit la dépendance SQL.
Propriété publiqueTypeId (Hérité de Attribute.)
Propriété publiqueVaryByContentEncodingObtient ou définit l'encodage variable en fonction du contenu.
Propriété publiqueVaryByCustomObtient ou définit la valeur variable en fonction de la personnalisation.
Propriété publiqueVaryByHeaderObtient ou définit la valeur variable en fonction de l'en-tête.
Propriété publiqueVaryByParamObtient ou définit la valeur variable en fonction du paramètre.
Début

  NomDescription
Méthode publiqueEquals (Hérité de Attribute.)
Méthode protégéeFinalize (Hérité de Object.)
Méthode publiqueGetHashCode (Hérité de Attribute.)
Méthode publiqueGetType (Hérité de Object.)
Méthode publiqueMembre statiqueIsChildActionCacheActiveRetourne une valeur qui indique si un cache d'actions enfants est actif.
Méthode publiqueIsDefaultAttribute (Hérité de Attribute.)
Méthode publiqueMatch (Hérité de Attribute.)
Méthode protégéeMemberwiseClone (Hérité de Object.)
Méthode publiqueOnActionExecutedCette méthode est une implémentation de IActionFilter.OnActionExecuted et prend en charge l'infrastructure ASP.NET MVC. Il n'est pas destiné à être utilisé directement à partir de votre code. (Substitue ActionFilterAttribute.OnActionExecuted(ActionExecutedContext).)
Méthode publiqueOnActionExecutingCette méthode est une implémentation de IActionFilter.OnActionExecuting et prend en charge l'infrastructure ASP.NET MVC. Il n'est pas destiné à être utilisé directement à partir de votre code. (Substitue ActionFilterAttribute.OnActionExecuting(ActionExecutingContext).)
Méthode publiqueOnExceptionCette méthode est une implémentation de IExceptionFilter.OnException et prend en charge l'infrastructure ASP.NET MVC. Il n'est pas destiné à être utilisé directement à partir de votre code.
Méthode publiqueOnResultExecutedCette méthode est une implémentation de IResultFilter.OnResultExecuted et prend en charge l'infrastructure ASP.NET MVC. Il n'est pas destiné à être utilisé directement à partir de votre code. (Substitue ActionFilterAttribute.OnResultExecuted(ResultExecutedContext).)
Méthode publiqueOnResultExecutingAppelée avant l'exécution du résultat de l'action. (Substitue ActionFilterAttribute.OnResultExecuting(ResultExecutingContext).)
Méthode publiqueToString (Hérité de Object.)
Début

  NomDescription
Implémentation d'interface expliciteMéthode privée_Attribute.GetIDsOfNames (Hérité de Attribute.)
Implémentation d'interface expliciteMéthode privée_Attribute.GetTypeInfo (Hérité de Attribute.)
Implémentation d'interface expliciteMéthode privée_Attribute.GetTypeInfoCount (Hérité de Attribute.)
Implémentation d'interface expliciteMéthode privée_Attribute.Invoke (Hérité de Attribute.)
Début

Output caching lets you store the output of an action method in memory on the Web server. For example, if the action method renders a view, the view page will be cached. This cached page is then available to the application for subsequent requests. Output caching saves your application the time and resources it would take to re-create the result of the action method.

In ASP.NET MVC, you can use the OutputCacheAttribute attribute to mark action methods whose output you want to cache. If you mark a controller with the OutputCacheAttribute attribute, the output of all action methods in the controller will be cached.

The properties contained in OutputCacheAttribute are almost the same as the properties of the @ OutputCache directive. The only @ OutputCache property that is not supported by OutputCacheAttribute is VaryByControl.

Using a Cache Profile

To avoid code duplication, you can set a cache profile in the Web.config file instead of setting cache values individually in pages. You can then reference the profile by using the CacheProfile property of the OutputCache attribute. The following example shows a section of a Web.config file that sets a cache profile. This cache profile will apply to all pages unless the page overrides these settings.

<system.web>
  <caching>
    <outputCacheSettings>
      <outputCacheProfiles>
        <add name="MyProfile" duration="60" varyByParam="*" />
      </outputCacheProfiles>
    </outputCacheSettings>
  </caching>
</system.web>

The following example shows how to use OutputCacheAttribute to control output caching for the About action method. The attribute sets the cache duration to one minute. Minor changes to the About action method and the About view enable you to see when the view was most recently cached.

If you repeatedly click the tab for the About view, you can see that the page stays cached for 10 seconds, because the OutputCache attribute changed the duration that was set in the Web.config file.

The following example shows the About action method.


[OutputCache(CacheProfile = "MyProfile", Duration = 10)]
public ActionResult About()
{
    ViewData["Message"] = "This page was cached at " + DateTime.Now;

    return View();
}


The following example shows the About view.


<asp:Content ID="aboutTitle" ContentPlaceHolderID="TitleContent" runat="server">
    About Us
</asp:Content>

<asp:Content ID="aboutContent" ContentPlaceHolderID="MainContent" runat="server">
    <h2>About</h2>
    <p>
        <%= Html.Encode(ViewData["Message"]) %>
    </p>
</asp:Content>


Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft