Caching in Iwan7

Bei einigen Ebenen/Aktionen erfolgt eine Zwischenspeicherung von Daten. Es gibt einen globalen (d.h. projektübergreifenden) und projektspezifische Speicherort.

Im folgenden finden Sie eine Übersicht der Unterverzeichnisse und deren Verwendung.

Beachte: Die Ausführungen treffen nur für Iwan7 direkt zu, Aufrufe an Geodatenquellen über die IduIT.GeoLib.Net implementieren keinen Cache.

Globaler Temp-Ordner

Der globale Temp-Ordner ist eine Einstellung in der Datei $default.config (das Standard-Projekt).

Wenn Sie den Ordner verschieben möchten, dann beenden Sie den Dienst IWANMapServer7, passen Sie den Pfadnamen in der Datei an. Verschieben Sie dann den Inhalt an die neue Quelle und starten Sie daraufhin den Dienst neu.

Unterordner

  • .\dxf\: DXF Dateien werden beim Laden adHoc konvertiert. Die Temp. Dateien werden dann hier abgelegt. Enthalten sind .cache Dateien, dabei handelt es sich um SQLite Datenbanken.

    Weitere Informationen: Dxf Dateien

    _sqliteCachePath = loadCtx.CallContext.GlobalTempDir() .Combine(L"dxf") .CreateDirectoryIfNotExists() .Combine(uniqueName) .ChangeExtension(L".cache");
  • .\EMF\: EMF Dateien die temp. in ein aktuelles EMFPlus Format konvertiert werden.

    Weitere Informationen: EMF - Enhanced Metafile

    HDC dc = GetDC(nullptr); Gdiplus::Graphics grx(dc); grx.SetSmoothingMode(Gdiplus::SmoothingModeAntiAlias);

    auto tmpFileName(tmpDir.Combine(CoreGuidNewGuid().ToString(false) + L".emf"));

  • .\shpCtx\: Für Shapedateien wo die Option PreparedRenderingCache aktiv ist, werden hier die präprozessierten vereinfachten Geometrien gespeichert.

    Weitere Informationen: Shape-Dateien

    dbPath = ctx.GlobalTempDir() .Combine(L"shpCtx") .CreateDirectoryIfNotExists() .Combine(Core::CalcMd5FromString(shpFileName.Path())) .ChangeExtension(L".sqlite");
  • .\GeoLocatedFiles\: Verortete Dateien werden beim Laden gescannt und das Ergebnis der Geometrien in eine SQLite Datenbank überführt.

    _sqliteCachePath = loadCtx.CallContext.GlobalTempDir() .Combine(L"GeoLocatedFiles") .CreateDirectoryIfNotExists() .Combine(uniqueCacheFileName) .ChangeExtension(L".cache");

Projektspezifischer Temp-Ordner

Die Speicherorte der projektspezifischen temporären Ordner ist eine Einstellung in der Datei {projectName}.config.

Unterordner

  • .\dxfExp\: Für den Export von DXF zu DXF werden temp. die Ergebnisse hier abgelegt.

    rqArgs.callCtx.ProjectTempDir().Combine(L"dxfExp"), dort nen Temp als Guid
  • .\TileJobs\: Siehe Iwan7 - TileExport / JobAPI


Zuletzt geändert: 13.11.2023 07:34:10 (erstmals erstellt 08.11.2023)