Compartilhar via


ContentPrefetcher Classe

Definição

Fornece propriedades para especificar recursos da Web a serem pré-buscados. O Windows usará a heurística para tentar baixar os recursos especificados antes de seu aplicativo ser iniciado pelo usuário.

public ref class ContentPrefetcher abstract sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ContentPrefetcher final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public static class ContentPrefetcher
Public Class ContentPrefetcher
Herança
Object Platform::Object IInspectable ContentPrefetcher
Atributos

Requisitos do Windows

Família de dispositivos
Windows 10 (introduzida na 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v1.0)

Comentários

Muitas categorias de aplicativos precisam baixar quantidades significativas de conteúdo da Web após a inicialização. Isso pode resultar em experiências ruins do usuário em que os usuários devem esperar o conteúdo ser carregado antes que o aplicativo se torne totalmente funcional. A classe ContentPrefetcher fornece mecanismos para especificar recursos que o Windows deve tentar baixar antes de seu aplicativo ser iniciado pelo usuário.

A heurística é usada para determinar quando a pré-busca deve ocorrer e quais recursos serão baixados. Essas heurísticas levam em conta as condições de rede e energia do sistema, o histórico de uso do aplicativo de usuário e os resultados de tentativas anteriores de pré-busca para fornecer o máximo benefício do usuário, mas não há nenhuma garantia de que qualquer recurso específico terá sido baixado antes de uma determinada inicialização de aplicativo.

Os recursos que foram pré-buscados com êxito serão colocados no cache WinINet específico do aplicativo. Nenhuma alteração é necessária para solicitações HTTP existentes para esses recursos depois que o aplicativo estiver em execução; O WinINet simplesmente fornecerá de forma transparente o conteúdo do cache se ele estiver disponível. Caso um recurso solicitado não tenha sido pré-buscado, uma solicitação HTTP para conteúdo simplesmente resultará em uma falha de cache e a solicitação será feita ao servidor. Observe que essa estratégia de cache funciona para solicitações HTTP feitas usando a interface WinJS.xhr, Windows.Web.Http.HttpClient e IXMLHTTPRequest2 . Não há suporte para o HttpClient .NET Framework.

A classe ContentPrefetcher fornece dois mecanismos para especificar recursos que devem ser pré-buscados:

  • A propriedade ContentUris permite que a especificação direta do lado do cliente dos recursos seja pré-buscada. Isso é útil para conteúdo com URIs que são bastante estáticos, pois não são alterados entre o uso subsequente do aplicativo. Um exemplo seria os URIs associados a seções de um aplicativo ao qual um usuário está inscrito, o que só seria alterado quando o usuário atualizasse suas opções de assinatura com o aplicativo.
  • A propriedade IndirectContentUri fornece para especificar o local de um arquivo XML que lista os recursos a serem pré-buscados. Os recursos a serem pré-buscados podem ser atualizados dinamicamente modificando o conteúdo do XML. Isso é útil nos casos em que o conteúdo é mais dinâmico, na qual os URIs de conteúdo devem ser alterados entre o uso subsequente do aplicativo.

Um exemplo seria pré-busca de imagens para os artigos de notícias mais recentes, os artigos de notícias e as imagens correspondentes mudam com frequência e o arquivo XML pode ser mantido atualizado com as URIs mais recentes para pré-busca. Os aplicativos podem usar ambas as propriedades para especificar recursos para pré-busca. Observe que há suporte para no máximo 40 URIs de conteúdo e os recursos especificados por meio da propriedade ContentUri serão baixados em preferência àqueles especificados pelo XML IndirectContentUri . Você deve priorizar o conteúdo de pré-busca que um usuário vê pela primeira vez ou que um usuário usa com frequência para obter o maior benefício da operação de pré-busca. Você deve indicar o conteúdo que tem um tempo de vida razoavelmente longo para seu aplicativo. Não pré-busca conteúdo que tenha um tempo de expiração imediato ou muito curto ou conteúdo que seria desativado da exibição de um usuário em um curto período de tempo. O conteúdo de curta duração é uma opção ruim para conteúdo pré-buscado, pois é provável que o conteúdo expire ou não seja exibido antes que o aplicativo seja usado e, portanto, não seja um benefício para os usuários.

Conforme mencionado acima, o sistema determina quando a pré-busca é executada para um aplicativo. No entanto, para fins de desenvolvimento, você pode iniciar a pré-busca imediata para seu aplicativo chamando a API da área de trabalho da interface IContentPrefetcherTaskTrigger .

Para ajudar na depuração, você pode escutar eventos ETW no canal Microsoft-Windows-BackgroundTransfer-ContentPrefetcher . Ocorrências como iniciação e conclusão de pré-busca, iniciação e conclusão de uma solicitação HTTP e validação XML dispararão eventos.

Propriedades

ContentUris

Matriz de URIs a ser baixada quando a pré-busca for executada para o aplicativo.

IndirectContentUri

Especifica o local de um arquivo XML bem formado que contém uma lista de recursos a serem pré-buscados.

LastSuccessfulPrefetchTime

Obtém a data e a hora da última operação de pré-busca de conteúdo bem-sucedida.

Aplica-se a