2012-01-27 7 views
6

Durante il debug di origine MVC di ASP.NET ho trovato il file "MVC-ControllerTypeCache.xml". Ma non sono in grado di capire l'uso di questo file. Voglio dire dove è archiviato questo file? Come asp.net MVc fa uso di questo file? Per favore aiuto.MVC-ControllerTypeCache.xml in MVC

risposta

6

Il file viene utilizzato per memorizzare i tipi di controller per evitare costose ricerche di riflessioni. Viene generato e memorizzato dinamicamente nella cartella c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\NAMEOFYOURAPP\xxxxx\xxxxxxxx\UserCache\.

Viene gestito dalla classe interna TypeCacheUtil che è possibile trovare in TypeCacheUtil.cs nel codice sorgente ASP.NET MVC.

Ecco un esempio di come questo file potrebbe essere simile:

<?xml version="1.0" encoding="utf-8"?> 
<!--This file is automatically generated. Please do not modify the contents of this file.--> 
<typeCache lastModified="04/01/2012 16:35:03" mvcVersionId="3cff62e5-ef21-4e58-897f-d0f1eafd3beb"> 
    <assembly name="Custom.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null"> 
    <module versionId="0bd9573a-7a89-4eab-b33d-cc92573fc2ba"> 
     <type>APPNAME.Controllers.BaseController</type> 
    </module> 
    </assembly> 
    <assembly name="APPNAME.BusinessLogic, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"> 
    <module versionId="3fb0cce6-10dd-43d3-a44c-00046017b574"> 
     <type>APPNAME.BusinessLogic.Controllers.AssetsController</type> 
     <type>APPNAME.BusinessLogic.Controllers.HomeController</type> 
    </module> 
    </assembly> 
    <assembly name="MvcContrib, Version=2.0.36.0, Culture=neutral, PublicKeyToken=null"> 
    <module versionId="889dd733-c7a0-4ae6-8f50-934f417174ea"> 
     <type>MvcContrib.PortableAreas.EmbeddedResourceController</type> 
     <type>MvcContrib.SubController</type> 
    </module> 
    </assembly> 
</typeCache> 

C'è anche il MVC-AreaRegistrationTypeCache.xml che viene utilizzato per le aree di cache.

+0

Grazie per la risposta Darin.ho provato a cercare all'interno di questa cartella ma non sono riuscito a trovare questo file. –

+3

@NirajChoubey, stai eseguendo l'applicazione in modalità di rilascio? Hai impostato '