Compartilhar via


CachedException classe

Usado por um cache para relatar um problema com uma causa original que possa ter ocorrido no passado como parte de uma operação individual.

Inheritance hierarchy

System.Object
  System.Exception
    Microsoft.SharePoint.Publishing.CachedException

Namespace:  Microsoft.SharePoint.Publishing
Assembly:  Microsoft.SharePoint.Publishing (em Microsoft.SharePoint.Publishing.dll)

Sintaxe

'Declaração
<SerializableAttribute> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
Public NotInheritable Class CachedException _
    Inherits Exception
'Uso
Dim instance As CachedException
[SerializableAttribute]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
public sealed class CachedException : Exception

Comentários

Para algumas estratégias de cache, é vantajoso armazenar em cache as solicitações atendidas com êxito e as solicitações que falharam devido a uma exceção. A exceção original é armazenada pelo cache e relançada quando solicitações subseqüentes são efetuadas para o mesmo objeto. Reutilizar o objeto de exceção original tem algumas desvantagens: por exemplo, a propriedade StackTrace será substituída, o chamador pode tentar manipular o mesmo problema duas vezes, e não há nenhuma maneira de controlar o contexto onde ocorreu o erro original.

A classe CachedException soluciona esses problemas, encapsulando o objeto compartilhado como sua propriedade de InnerException e controlar detalhes adicionais, como a ID de correlação e o carimbo de hora para a solicitação HTTP original.

Por exemplo, se o sistema de navegação de taxonomia encontra um erro quando tentar ler um objeto de TermSet para o cache de navegação de taxonomia, tentativas subseqüentes para buscar o objeto lançará instâncias de CachedException em vez de tentar a operação novamente.

Segurança de thread

Os membros públicos estática (Shared no Visual Basic) desse tipo são seguros para thread. Nenhum membro de instância pode ser garantido como seguro para thread.

Ver também

Referência

CachedException membros

Microsoft.SharePoint.Publishing namespace

Microsoft.SharePoint.Publishing.Navigation.TaxonomyNavigation