MVC-ControllerTypeCache.xml в MVC - PullRequest
       11

MVC-ControllerTypeCache.xml в MVC

7 голосов
/ 27 января 2012

При отладке источника ASP.NET MVC я обнаружил Используется файл "MVC-ControllerTypeCache.xml" .Но я не могу понять, как использовать этот файл. Я имею в виду, где этот файл хранится?Как asp.net MVc использует этот файл?Пожалуйста, помогите.

1 Ответ

7 голосов
/ 27 января 2012

Файл используется для кэширования типов контроллеров, чтобы избежать дорогостоящих поисков с отражением. Он динамически генерируется и сохраняется в папке c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\NAMEOFYOURAPP\xxxxx\xxxxxxxx\UserCache\.

Он обрабатывается внутренним классом TypeCacheUtil, который можно найти в TypeCacheUtil.cs исходного кода ASP.NET MVC.

Вот пример того, как этот файл может выглядеть:

<?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>

Существует также MVC-AreaRegistrationTypeCache.xml, который используется для кэширования областей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...