Ativar a cache de saída de cabeçalhos e rodapés num portal

Nota

A partir de 12 de outubro de 2022, os portais do Power Apps passam a ser Power Pages. Mais informações: O Microsoft Power Pages está agora em disponibilidade geral (blogue)
Em breve, vamos migrar e unir a documentação dos portais do Power Apps com a documentação do Power Pages.

Para melhorar o desempenho do processamento de modelos Web de Cabeçalho e Rodapé num portal, ative a colocação em cache de saída de cabeçalhos e rodapés. Os modelos Web Cabeçalho e Rodapé são analisados e compostos sempre que uma página é carregada. A saída de cabeçalhos e rodapés de colocação em cache reduz significativamente o tempo de processamento das páginas.

Para um novo utilizador, a colocação em cache de saída está ativada por predefinição. As definições do site seguintes estão disponíveis e definidas como true por predefinição para dar suporte a esta funcionalidade:

  • Header/OutputCache/Enabled: defina o valor como true para ativar a colocação em cache de saída para cabeçalhos.
  • Footer/OutputCache/Enabled: defina o valor como true para ativar a colocação em cache de saída para rodapés.

Para um utilizador que tenha atualizado para uma versão mais recente dos portais, a colocação em cache de saída está desativada por predefinição—, ou seja, os modelos Web de cabeçalho e rodapé são analisados e compostos sempre que uma página é carregada. Para ativar a cache de saída, tem de atualizar os modelos Web Cabeçalho, Rodapé e Menu Pendente de Idiomas e criar as definições do site necessárias.

Nota

Se ativar a colocação em cache de saída apenas através da criação de definições do site, partes do cabeçalho e rodapé não serão compostas corretamente e serão apresentadas mensagens de erro.

Ativar a colocação em cache de saída de cabeçalhos e rodapés para um utilizador existente

Passo 1: Atualizar o modelo Web de cabeçalho

  1. Abra a aplicação Gestão do Portal.

  2. Aceda a Portais > Modelos Web.

  3. Abra o modelo Web Cabeçalho.

  4. Atualize o código no campo Origem:

    • Localize o código seguinte e atualize-o:

      Código existente

      <li>
          <a href={% if homeurl%}/{{ homeurl }}{% endif %}/Account/Login/LogOff?returnUrl={{ request.raw_url_encode | escape }} title={{ snippets["links/logout"] | default:resx["Sign_Out"] | escape }}>
          {{ snippets["links/logout"] | default:resx["Sign_Out"] | escape }}
          </a>
      </li>
      </ul>
      </li>
      {% else %}
      <li>
          <a href={% if homeurl%}/{{ homeurl }}{% endif %}/SignIn?returnUrl={{ request.raw_url_encode }}>
          {{ snippets["links/login"] | default:resx["Sign_In"] }}
          </a>
      </li>
      

      Código atualizado

      <li>
         <a href={% if homeurl%}/{{ homeurl }}{% endif %}{{ website.sign_out_url_substitution }} title={{ snippets["links/logout"] | default:resx["Sign_Out"] | escape }}>
         {{ snippets["links/logout"] | default:resx["Sign_Out"] | escape }}
         </a>
      </li>
      </ul>
      </li>
      {% else %}
      <li>
         <a href={% if homeurl%}/{{ homeurl }}{% endif %}{{ website.sign_in_url_substitution }}>
         {{ snippets["links/login"] | default:resx["Sign_In"] }}
         </a>
      </li>
      
    • Localize o código seguinte e atualize-o:

      Código existente

      {% assign current_page = page.adx_partialurl %}
      {% assign sr_page = sitemarkers[Search].url | remove: '/' %}
      {% assign forum_page = sitemarkers[Forums].url | remove: '/' %}
      {% if current_page == sr_page or current_page == forum_page %}
        <section class=page_section section-landing-{{ current_page }} color-inverse>
          <div class=container>
            <div class=row >
              <div class=col-md-12 text-center>
                {% if current_page == sr_page %}
                  <h1 class=section-landing-heading>{% editable snippets 'Search/Title' default: resx["Discover_Contoso"] %}</h1>
                  {% include 'Search' %}
                {% endif %}
              </div>
            </div>
          </div>
        </section>
      {% endif %}
      

      Código atualizado

      {% substitution %}
        {% assign current_page = page.id %}
        {% assign sr_page = sitemarkers[Search].id %}
        {% assign forum_page = sitemarkers[Forums].id %}
        {% if current_page == sr_page or current_page == forum_page %}
          {% assign section_class = section-landing-search %}
          {% if current_page == forum_page %}
            {% assign section_class = section-landing-forums %}
          {% endif %}
         <section class=page_section section-landing-{{ current_page }} {{ section_class | h }} color-inverse>
            <div class=container>
              <div class=row >
                <div class=col-md-12 text-center>
                  {% if current_page == sr_page %}
                    <h1 class=section-landing-heading>{% editable snippets 'Search/Title' default: resx["Discover_Contoso"] %}</h1>
                    {% include 'Search' %}
                  {% endif %}
                </div>
              </div>
            </div>
          </section>
        {% endif %}
      {% endsubstitution %}
      
  5. Guarde o modelo Web.

Passo 2: Atualizar o modelo Web de rodapé

  1. Abra a aplicação Gestão do Portal.

  2. Aceda a Portais > Modelos Web.

  3. Abra o modelo Web Rodapé.

  4. No campo Origem campo, localize o código seguinte e atualize-o:

    Código existente

    <section id=gethelp class=page_section section-diagonal-right color-inverse {% if page %}{% unless page.parent %}home-section{% endunless %}{% endif %} hidden-print>
    

    Código atualizado

    <section id=gethelp class=page_section section-diagonal-right color-inverse {% substitution %}{% if page %}{% unless page.parent %}home-section{% endunless %}{% endif %}{% endsubstitution %} hidden-print>
    
  5. Guarde o modelo Web.

Passo 3: Atualizar o modelo Web Menu Pendente de Idiomas

  1. Abra a aplicação Gestão do Portal.

  2. Aceda a Portais > Modelos Web.

  3. Abra o modelo Web Menu Pendente de Idiomas.

  4. No campo Origem, encontre o seguinte código e certifique-se de que o objeto language utiliza o atributo url.substitution em vez de url:

    <a href=/{{ language.url_substitution }} title={{ language.name }} data-code={{ language.code }}>{{ language.name }}</a>
    
  5. Guarde o modelo Web.

Passo 4: Criar definições do site

Crie as definições do site seguintes:

Nome Valor
Header/OutputCache/Enabled Verdadeiro
Footer/OutputCache/Enabled Verdadeiro

Nota

Pode indicar-nos as suas preferências no que se refere ao idioma da documentação? Responda a um breve inquérito. (tenha em atenção que o inquérito está em inglês)

O inquérito irá demorar cerca de sete minutos. Não são recolhidos dados pessoais (declaração de privacidade).