2016-04-19 11 views
0

Ich weiß, dass Output für ASP.NET-Core nicht bereit ist, aber ich habe über Output lesen und Sie können es in der web.config wie folgt konfiguriert werden:Output IIS mit MVC und ASP.NET-Core in Azure

<configuration> 
    <location path="showStockPrice.asp">  
     <system.webserver>   
     <caching>   
      <profiles> 
      <add varybyquerystring="*"location="Any" 
       duration="00:00:01" policy="CacheForTimePeriod"    
       extension=".asp"> 
      </profiles> 
     </caching> 
     </system.webserver> 
    </location> 
</configuration> 

Kann ich meine web.config für die Verwendung von OutputCache Web.Config für MVC-Routen konfigifizieren?

Zum Beispiel:

http://www.example.com/View/Index/123562

Wo der VaryByParam Parameter ist 123562.

Dank.

Antwort

0

Sie können die IMemoryCache Klasse verwenden, um Ergebnisse zu speichern. Eine Beispielverwendung von Microsoft kann here gefunden werden.

Hier ist ein einfaches Beispiel:

public class HomeController : Controller 
{ 
    private readonly IMemoryCache _cache; 

    public HomeController(IMemoryCache cache) 
    { 
     _cache = cache; 
    } 

    public IActionResult About(string id) 
    { 
     AboutViewModel viewModel; 

     if (!_cache.TryGetValue(Request.Path, out result)) 
     { 
      viewModel= new AboutViewModel(); 
      _cache.Set(Request.Path, viewModel, new MemoryCacheEntryOptions() 
      { 
       AbsoluteExpiration = DateTime.Now.AddHours(1) 
      }); 
     } 
     return View(viewModel); 
    } 
} 
+0

Dank, aber ich brauche die Ausgabe, kein DTO oder Objekt zwischenzuspeichern;) – chemitaxis

+1

Haben Sie an der sah [ResponseCacheAttribute] (https: // Github .com/aspnet/Mvc/blob/df4b92b1c12dcea122a730b618b33a0b39496561/src/Microsoft.AspNet.Mvc.Core/Filter/ResponseCacheAttribute.cs)? Dies würde das Ergebnis auf der Clientseite zumindest zwischenspeichern. –

+0

Ja, ich weiß es ... Aber es ist nicht dasselbe ... – chemitaxis