.NET Kernkomponenten zur Verwaltung von Skype-Konversationen

Wir haben plattformübergreifende Komponenten mit Hilfe des .NET Core Frameworks implementiert, um Skype-Textnachrichten und Gespräche zu importieren.

.NET Kernkomponenten zur Verwaltung von Skype-Konversationen hero background

Herausforderung

Wir arbeiten weiter an SkyHistory, einem Chatverlauf-Manager für Skype, der hilft, Nachrichten zu speichern, Chats zu filtern und die Konversationen nach Datum zu suchen. Die Strebung danach, die Funktionalität des plattformübergreifenden Kerns des Produkts zu erweitern, führte SCAND zur Entwicklung von den plattformübergreifenden Komponenten für das Importieren von Textnachrichten und Konversationen in Skype.

Es wird verwiesen auf:

  • SQLite Wrapper, der den Zugriff auf Skype und die Verwaltung von den lokalen Datenbanken unterstützt.
  • FileSystemWatcher, um alle Änderungen in der Kontodatenbank in Skype zu überprüfen und die Komponente Conversation Manager über die Aktualisierung der lokalen Datenbank zu benachrichtigen.

Um die Ziele der Entwicklung zu erreichen, verließ sich unser Team auf:

  • Ein Plattformübergreifendes .NET Core Framework;
  • CoreFX.NET Core-Basisbibliotheken;
  • Das Kombinieren der .NET Core-Komponenten mit der Electron-UI-Bibliothek.
Herausforderung

Herangehen

Das .NET Core-Framework wurde für die Implementierung von einer Reihe von plattformübergreifenden Kernkomponenten aus mehreren Gründen ausgewählt. Vor allem ist .NET Core ein plattformübergreifender Open-Source-Ersatz von dem Microsoft .NET Framework, der für Windows, macOS und Linux funktionieren kann. Das Framework besteht aus der CoreCLR, einer plattformübergreifenden Implementierung von CLR. Es kommt mit einem zeiteffizienten Compiler namens RyuJIT. Auch die CoreFX-Bibliotheken sind hier enthalten, und ihre Funktionalität stimmt teilweise mit der Funktionalität von den Basisbibliotheken überein.

Um die Funktionen von SQLite Wrapper anzuwenden, haben wir den in C++ geschriebenen SQLite ODBC-Treiber in .NET Core Data.SQLite eingebunden. Dies dient für die Kompatibilität und plattformübergreifende Arbeit. Genau diese Komponente kommt als ein Teil der UI-Anwendung basierend auf dem Electron-Framework und dient dazu, Listen von Benutzern und Gruppen oder Nachrichten innerhalb eines festgelegten Zeitraums zu erhalten.

Herangehen

Beschreibung

Zu den wichtigsten plattformspezifischen Kernkomponenten und ihren Rollen:

FileSystemWatcher überwacht die Benachrichtigungen über System-Änderungen der Datei und löst Ereignisse bei Änderungen in der Kontodatenbank von Skype aus. Die Klasse FileSystemWatcher nimmt den Verzeichnis-/Dateinamen als Parameter an und kann deshalb problemlos als eine Bibliothek in beliebigen Anwendungen von Drittanbietern verwendet werden.

Beschreibung

Hauptmerkmale

Während der Arbeit am plattformübergreifenden Kern haben wir erfolgreich Folgendes bereitgestellt:

  • Die plattformübergreifende Komponente FileSystemWatcher
  • Die plattformübergreifende Komponente SQLite Wrapper
  • .NET Core-Komponenten und die Electron-UI-Bibliothek
  • NuGet-Paket-Manager
  • Eigenständige Bereitstellung (Self-contained deployment)
Hauptmerkmale

Zugehörige Fallbeispiele