/// <summary>
 /// Recupera a chave do template.
 /// </summary>
 /// <param name="name"></param>
 /// <param name="templateType"></param>
 /// <param name="context"></param>
 /// <returns></returns>
 public ITemplateKey GetKey(string name, ResolveType templateType, ITemplateKey context)
 {
     if (System.Web.Hosting.HostingEnvironment.VirtualPathProvider.FileExists(name))
     {
         var virtualFile = System.Web.Hosting.HostingEnvironment.VirtualPathProvider.GetFile(name);
         var cache       = virtualFile as ITemplateCacheSupport;
         RazorEngine.Templating.ITemplateKey templateKey = null;
         if (cache != null)
         {
             if (cache.TemplateKey == null)
             {
                 templateKey = new NameOnlyTemplateKey(name, templateType, context);
                 cache.Register(templateKey);
             }
             else
             {
                 templateKey = cache.TemplateKey;
             }
         }
         else
         {
             templateKey = new NameOnlyTemplateKey(name, templateType, context);
         }
         return(templateKey);
     }
     return(new NameOnlyTemplateKey(name, templateType, context));
 }
 /// <summary>
 /// Resolve o nome do modelo.
 /// </summary>
 /// <param name="name"></param>
 /// <returns></returns>
 public string Resolve(string name)
 {
     if (System.Web.Hosting.HostingEnvironment.VirtualPathProvider.FileExists(name))
     {
         var virtualFile = System.Web.Hosting.HostingEnvironment.VirtualPathProvider.GetFile(name);
         var cache       = virtualFile as ITemplateCacheSupport;
         RazorEngine.Templating.ITemplateKey templateKey = null;
         if (cache != null)
         {
             if (cache.TemplateKey == null)
             {
                 templateKey = _templateGetKey(name, RazorEngine.Templating.ResolveType.Global);
                 cache.Register(templateKey);
             }
             else
             {
                 templateKey = cache.TemplateKey;
             }
         }
         using (var stream = virtualFile.Open())
         {
             var reader = new System.IO.StreamReader(stream, System.Text.Encoding.UTF8);
             return(reader.ReadToEnd());
         }
     }
     return("");
 }