So verwenden Sie die kompakte Serialisierung

Warum kompakte Serialisierung?

Es ist ein Prozess zur Erstellung einer kompakten Form eines serialisierten Objekts zur Leistungsverbesserung, was zu schnelleren Netzwerkfahrten führt. Wie der Name schon sagt, ist eine kompakte serialisierte Datei kompakt in Form von Daten und Prozessen. Die Idee hinter der kompakten Serialisierung ist, dass jedem „bekannten Typ“ (ein bekannter Typ ist ein Typ, der beim Framework registriert ist) vom Framework ein eindeutiges 2-Byte-Typ-Handle zugewiesen wird, mit dem der Deserialisierer die „bekannten Typen“ eindeutig identifizieren kann. .

Angenommen, das Framework weist System.Int0 ein Handle 32 zu. Dann schreibt der Serialisierer das 2-Byte-Handle, gefolgt von 4 Bytes des Objektwerts, in den Stream. Deserializer liest das Handle, ermittelt den Objekttyp und erstellt dann das Objekt und füllt es mit seinem Wert. Andererseits schreibt die native Serialisierung die vollständigen Typinformationen mit Objektdaten. NCache überwindet diese Probleme der nativen Sterilisation auf raffinierte Weise auf folgende Weise:

  • Hier enthält das serialisierte Objekt keine vollständigen Typinformationen und Assemblys. Es enthält nur einen Objektwert und ein eindeutiges 2-Byte-Handle. Dieses eindeutige 2-Byte-Handle wird als Referenz verwendet, um die Typdetails beim Deserialisieren eines Objekts eindeutig zu identifizieren. Auf diese Weise verringert sich die Größe des Objekts
  • Eine kompakte Serialisierung vermeidet auch die Reflexion, was auch den Overhead reduziert
  • Die beiden obigen Merkmale reduzieren die IO-Operationen
  • Wenn die Objektgröße abnimmt, werden die Netzwerkauslösungen automatisch schneller, und schließlich sinken die Kosten
  • Kleine Objektgröße und schneller Netzwerkverkehr erhöhen die Anwendungsleistung

Um die kompakte Serialisierung zu verwenden, müssen Sie einen öffentlichen Standardkonstruktor (ohne Parameter) in einem kompakten serialisierbaren Typ definieren und diesen Typ bei registrieren NCache Manager. NCache unterstützt jetzt benutzerdefinierte generische Typen. Alle generischen Typen mit beliebig vielen Argumenten können durch kompakte Serialisierung serialisiert werden. Wenn ein Client keine generischen Typen und ihre Parameter über die Benutzeroberfläche hinzufügen möchte, hat er die Möglichkeit, sie über die Klasse IGenericTypes hinzuzufügen.

Wie verwende ich die kompakte Serialisierung?

So verwenden Sie Compact Serializable-Typen mit NCache Cache konfigurieren mit NCache Manager und registrieren Sie dann Ihre kompakten serialisierbaren Typen mit NCache.

Schritt 1: Registrieren von kompakten serialisierbaren Typen:

Sie können die Typen einzeln registrieren 'Typen hinzufügen' Taste. Führen Sie die folgenden Schritte aus, um Ihre Typen mit konfiguriertem Cache zu registrieren:

  • Stoppen Sie den Cache, wenn er ausgeführt wird.
  • Klicken Sie auf 'Kompakte Serialisierung' Registerkarte, die den folgenden Bildschirm öffnet.
Registrieren kompakter serialisierbarer Typen
  • Klicken Sie auf Kostenlos erhalten und dann auf Installieren. 'Typen hinzufügen' Taste. EIN 'Kompaktklassen auswählen' Der Dialog erscheint.
  • Suchen Sie nach der Assemblydatei, die die kompakten Typen enthält, indem Sie auf klicken 'Durchsuche' Taste wie in der Abbildung gezeigt.
  • Wählen Sie die Klassen, die Sie im Cache registrieren möchten, aus der Liste der geladenen Klassen aus.
  • Öffentlichkeitsarbeit/Presse 'Klasse hinzufügen' Schaltfläche, um die Klassen in der Liste der ausgewählten Klassen hinzuzufügen.
  • Klicken Sie auf Kostenlos erhalten und dann auf Installieren. 'OK' .
Kompakte Klassen in Serialisierung
  • Neu hinzugefügte Typen werden im Listenfeld unter angezeigt 'Kompakte Serialisierung' Registerkarte mit Kompakttyp- und Plattforminformationen.
  • 'Entfernen' löscht den ausgewählten Typ aus der Liste der registrierten Typen.
So verwenden Sie die kompakte Serialisierung
  • Dies zeigt alle hinzugefügten Typen. Jetzt können Argumente mit generischen Typen hinzugefügt werden, indem Sie einen bestimmten Typ auswählen und dann auf klicken 'Hinzufügen ' .

Schritt 2: Registrieren generischer kompakter Typen über den generischen Typhandler

Dies ist die andere Möglichkeit, generische kompakte Typen über "Generic Type Handler" zu registrieren. Mit Generic Type Handler kann der Benutzer alle generischen Typen auf einmal hinzufügen, indem er unsere Schnittstelle implementiert. Das spart Zeit und Aufwand. Hier ist ein Beispielcode dafür.

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
	}

Gehen Sie zum Registrieren von Typen wie folgt vor.

  • Klicken Sie auf Kostenlos erhalten und dann auf Installieren. 'Generic Type Handler' Taste. EIN 'Kompaktklassen auswählen' Das Dialogfeld wird angezeigt.
  • Suchen Sie nach der Assemblydatei, die diese Schnittstelle implementiert und kompakte Typen enthält, indem Sie auf klicken 'Durchsuche' Taste wie in der Abbildung gezeigt.
Registrieren von generischen Compact-Typen
  • Klicken Sie auf Kostenlos erhalten und dann auf Installieren. 'OK' Taste. Alle hinzugefügten Typen werden wie unten gezeigt aufgelistet.
Kompaktes Serialisierungs-Framework

Was macht man als nächstes?

© Copyright Alachisoft 2002 - Alle Rechte vorbehalten NCache ist eine eingetragene Marke der Diyatech Corp.