ContentPrefetcher Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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. |