Como usar a serialização compacta

Por que serialização compacta?

É um processo de produção de uma forma compacta de objeto serializado para melhoria de desempenho que resulta em viagens de rede mais rápidas. Como o nome ilustra, o arquivo serializado compacto é compacto na forma de dados e processos. A ideia por trás da serialização compacta é que cada 'tipo conhecido' (um tipo conhecido é um tipo registrado com a estrutura) recebe um identificador de tipo exclusivo de 2 bytes pela estrutura, o que permite que o desserializador identifique exclusivamente os 'tipos conhecidos' .

Por exemplo, suponha que a estrutura atribua um identificador 0 a System.Int32. Em seguida, o serializador grava o identificador de 2 bytes seguido por 4 bytes do valor do objeto no fluxo. O desserializador lê o identificador, descobre o tipo de objeto e, em seguida, cria e preenche o objeto com seu valor. Por outro lado, a serialização nativa grava as informações de tipo completas com dados do objeto. NCache sofisticadamente supera esses problemas de esterilização nativa das seguintes maneiras:

  • Aqui o objeto serializado não contém informações e assemblies de tipo completos. Ele contém apenas um valor de objeto e um identificador exclusivo de 2 bytes. Esse identificador exclusivo de 2 bytes é usado como referência para identificar exclusivamente os detalhes do tipo ao desserializar um objeto. Desta forma, o tamanho do objeto reduz
  • A serialização compacta também evita a reflexão, o que também reduz a sobrecarga
  • Os dois recursos acima reduzem as operações de IO
  • À medida que o tamanho do objeto diminui, automaticamente as viagens de rede são mais rápidas e, eventualmente, o custo diminui
  • Tamanho de objeto pequeno e tráfego de rede rápido aumentam o desempenho do aplicativo

Para usar a serialização compacta, você precisa definir um construtor público padrão (menos parâmetros) em um tipo serializável compacto e registrar esse tipo com NCache Gerente. NCache agora oferece suporte a tipos genéricos personalizados. Todos os tipos genéricos com qualquer número de argumentos podem ser serializados por meio de serialização compacta. Se um cliente não deseja adicionar tipos genéricos e seus parâmetros através da interface do usuário, ele tem a opção de adicioná-los através da classe IGenericTypes.

Como usar a serialização compacta?

Para usar tipos serializáveis ​​compactos com NCache Configurar cache com NCache Manager e registre seus tipos serializáveis ​​compactos com NCache.

Etapa 1: Registrando Tipos Seriais Compactos:

Você pode registrar os tipos um por um através 'Adicionar tipos' botão. Execute as etapas a seguir para registrar seus tipos com o cache configurado:

  • Pare o cache se estiver em execução.
  • Clique no 'Serialização compacta' guia que abrirá a tela a seguir.
Registrando Tipos Seriais Compactos
  • Clique 'Adicionar tipos' botão. UMA 'Selecionar classes compactas' a caixa de diálogo aparecerá.
  • Procure o arquivo de montagem que contém os tipos compactos clicando no 'Navegar' botão como mostrado na figura.
  • Selecione as classes que deseja registrar com o cache na lista de classes carregadas.
  • Press 'Adicionar classe' botão para adicionar as classes na lista de classes selecionadas.
  • Clique 'OK' botão.
Classes compactas em serialização
  • Os tipos recém-adicionados começarão a aparecer na caixa de lista sob o 'Serialização compacta' guia com informações de tipo compacto e plataforma.
  • 'Retirar' O botão excluirá o tipo selecionado da lista de tipos registrados.
Como usar a serialização compacta
  • Isso mostra todos os tipos adicionados. Agora os argumentos podem ser adicionados com tipos genéricos selecionando o tipo específico e clicando em 'Adicionar ' botão.

Etapa 2: registrando tipos compactos genéricos por meio do manipulador de tipos genéricos

Esta é a outra maneira de registrar tipos compactos genéricos através do "Generic Type Handler". Com o Generic Type Handler o usuário pode adicionar todos os tipos genéricos de uma vez implementando nossa interface. Isso economiza tempo e esforço. Aqui está um código de exemplo para isso.

public class CustomGenericType <T,K,V>         {           }

public class SetGenerics: IGenericTypeProvider
	{ 
	Type[] types = new Type[6]; 
        
	#region IGenericTypeProvider  Members 
	Type[] IGenericTypeProvider.GetGenericTypes()
		{ 
		  types[0]=typeof(Dictionary<string, Customer>);
		  types[1]=typeof(List<int>);  
		  types[2]=typeof(CustomGenericType<Employee, Product, Customer>);
		  types[3]=typeof(CustomGenericType<Employee, Product, int>); 
		  types[4]=typeof(CustomGenericType<Employee, string, byte>);
		  types[5]=typeof(CustomGenericType<string, Customer, bool>);
		  return types;
		}
	#endregion
	}

Para registrar tipos, siga estas etapas.

  • Clique 'Gerenciador de Tipo Genérico' botão. UMA 'Selecionar classes compactas' caixa de diálogo aparecerá.
  • Procure o arquivo de montagem que implementa essa interface e contém tipos compactos clicando no botão 'Navegar' botão como mostrado na figura.
Registrando Tipos Compactos Genéricos
  • Clique 'OK' botão. Todos os tipos adicionados serão listados conforme mostrado abaixo.
Estrutura de serialização compacta

O que fazer a seguir?

© Copyright Alachisoft 2002 - . Todos os direitos reservados. NCache é uma marca registrada da Diyatech Corp.