Fehlermeldung: "Repository exists, and is empty", obwohl Daten enthalten

Hallo,

ich möchte den Webdesigner mit einem bereits bestehenden Vorlage Öffnen (die es in meinem Repository inkl. Dateiinhalt gibt), bekomme aber immer folgende Fehlermeldungen:

Debwin4::CSV::V1;TypeCode;Timestamp;Level;Logger;Thread;Properties;Message
▪;1000;06.07.2021 16:55:17.162;2;LL.API;44C4;100:2=CMLL26♦101:1=3; >loading project file 'repository://{D4022BF4-C32D-44C0-860A-C317151EC3BA}'/00000000 (FileAttributes=0x00000000, LoadType=normal, r/w)
▪;1000;06.07.2021 16:55:17.162;1;LL.NetFX;44C4;100:2=CMLL26♦101:1=3;  RemoteRepository: Contains('repository://{D4022BF4-C32D-44C0-860A-C317151EC3BA}')?  -->  True
▪;1000;06.07.2021 16:55:17.162;1;LL.NetFX;44C4;100:2=CMLL26♦101:1=3;  RemoteRepository: Contains('repository://{D4022BF4-C32D-44C0-860A-C317151EC3BA}')?  -->  True
▪;1000;06.07.2021 16:55:17.162;1;LL.NetFX;44C4;100:2=CMLL26♦101:1=3;  RemoteRepository: Contains('repository://{D4022BF4-C32D-44C0-860A-C317151EC3BA}')?  -->  True
▪;1000;06.07.2021 16:55:17.162;1;LL.Generic;44C4;100:2=CMLL26♦101:1=3;  >clsLoadManager
▪;1000;06.07.2021 16:55:17.162;1;LL.Generic;44C4;100:2=CMLL26♦101:1=3;   >clsLoadManager::Load()
▪;1000;06.07.2021 16:55:17.163;1;LL.Generic;8160;100:2=CMLL26♦101:1=2;    [clsLoadManagerThread] >clsLoadManager::Thread(source='Repository') 'repository://{D4022BF4-C32D-44C0-860A-C317151EC3BA}'
▪;1000;06.07.2021 16:55:17.163;1;LL.NetFX;8160;100:2=CMLL26♦101:1=2;     [clsLoadManagerThread] RemoteRepository: GetItem('repository://{D4022BF4-C32D-44C0-860A-C317151EC3BA}') [returned from cache]
▪;1000;06.07.2021 16:55:17.163;1;LL.NetFX;8160;100:2=CMLL26♦101:1=2;     [clsLoadManagerThread] RemoteRepository: LoadItem('repository://{D4022BF4-C32D-44C0-860A-C317151EC3BA}') [http://localhost:21777/WebDesignerHandler/WebDesignerRepository/LoadItemContent/5adca1ab-b988-464d-92e0-ab9d91f8e8b3?repoItemID=repository%3a%2f%2f%7bD4022BF4-C32D-44C0-860A-C317151EC3BA%7d]
▪;1000;06.07.2021 16:55:17.163;1;LL.NetFX;8160;100:2=CMLL26♦101:1=2;     [clsLoadManagerThread] [Client] GET: http://localhost:21777/WebDesignerHandler/WebDesignerRepository/LoadItemContent/5adca1ab-b988-464d-92e0-ab9d91f8e8b3?repoItemID=repository%3a%2f%2f%7bD4022BF4-C32D-44C0-860A-C317151EC3BA%7d
▪;1000;06.07.2021 16:55:17.164;2;LL.Notification;44C4;100:2=CMLL26♦101:1=2;     >@NOTIF.(code= 33, param=00000252, user=00000000)
▪;1000;06.07.2021 16:55:17.164;2;LL.Notification;44C4;100:2=CMLL26♦101:1=2;     <@NOTIF.(code= 33) -> 00000000
▪;1000;06.07.2021 16:55:17.166;2;LL.Notification;44C4;100:2=CMLL26♦101:1=3;     >@NOTIF.(code= 33, param=00000252, user=00000000)
▪;1000;06.07.2021 16:55:17.166;2;LL.Notification;44C4;100:2=CMLL26♦101:1=3;     <@NOTIF.(code= 33) -> 00000000
▪;1000;06.07.2021 16:55:17.166;2;LL.Notification;44C4;100:2=CMLL26♦101:1=3;     >@NOTIF.(code= 66, param=12E9CB80, user=00000000)
▪;1000;06.07.2021 16:55:17.166;2;LL.Notification;44C4;100:2=CMLL26♦101:1=3;     <@NOTIF.(code= 66) -> 00000000
▪;1000;06.07.2021 16:55:17.166;2;LL.Notification;44C4;100:2=CMLL26♦101:1=3;     >@NOTIF.(code= 66, param=12E9CB80, user=00000000)
▪;1000;06.07.2021 16:55:17.166;2;LL.Notification;44C4;100:2=CMLL26♦101:1=3;     <@NOTIF.(code= 66) -> 00000000
▪;1000;06.07.2021 16:55:17.591;1;LL.NetFX;8160;100:2=CMLL26♦101:1=2;     [clsLoadManagerThread] RemoteRepository: Received 0 bytes
▪;1000;06.07.2021 16:55:17.591;1;LL.Generic;8160;100:2=CMLL26♦101:1=2;    [clsLoadManagerThread] <clsLoadManager::Thread() -> success=Der Vorgang wurde erfolgreich beendet. (00000000)
▪;1000;06.07.2021 16:55:17.606;1;LL.Generic;44C4;100:2=CMLL26♦101:1=0;   <clsLoadManager::Load()
▪;1000;06.07.2021 16:55:17.606;1;LL.Generic;44C4;100:2=CMLL26♦101:1=0;  <clsLoadManager
▪;1000;06.07.2021 16:55:17.606;2;LL.Generic;44C4;100:2=CMLL26♦101:1=0;  file 'repository://{D4022BF4-C32D-44C0-860A-C317151EC3BA}' exists, and is empty. I assume I shall use this...
▪;1000;06.07.2021 16:55:17.606;2;LL.API;44C4;100:2=CMLL26♦101:1=0; <loading project file 'repository://{D4022BF4-C32D-44C0-860A-C317151EC3BA}'/00000000 (FileAttributes=0x00000000, LoadType=normal, r/w) -> -22 (FFFFFFEA) (Es existiert kein Projekt mit dem angegebenen Dateinamen.)

Es wird zwar der Datensatz gefunden, jedoch ist dieser leer, obwohl beim Debuggen der LoadItem-Repository-Implementierung der content, der dann in den destinationStream geschrieben wird, nicht leer ist:

public void LoadItem(string itemID, Stream destinationStream, CancellationToken cancelToken)
{
    byte[] content = (byte[])_db.CreateCommand(
         "SELECT FileContent FROM RepoItems WHERE ItemID = @ItemID")
            .SetParameter("ItemID", itemID).ExecuteScalar();
    destinationStream.Write(content, 0, content.Length);
}

Der Webdesigner öffnet sich dann zwar mit richtiger Projektbeschreibung, aber hinzugefügte Texte, Tabellen etc., sind nicht mehr enthalten. Im heruntergeladenen .lst-File des Repositories passt es aber.

Was könnte hier das Problem sein? Danke!

MfG, Daniel

Das Szenario klingt spannend und interessant. Ist aber aus der Ferne nur schwer zu beurteilen. Ich fürchte, dass man sich das im Rahmen des technischen Supports (siehe Supportportal) genauer anschauen muss.

Vorweg aber vielleicht schonmal ein paar Ideen oder Ansätze, die als Input für den Support-Request gerne mitgegeben werden können:

  • Betrifft das nur ein ganz bestimmtes Projekt im Repository oder sind davon alle Projekte im Repository betroffen?
  • Wird hier die Standard-Implementierung des SQLite Repository verwendet oder wurde ein eigenes geschrieben?
  • Ist es möglich für einen Test einmal den content in LoadItem() zusätzlich auf die Platte zu schreiben und in die Datei reinzuschauen? Sind dort Objekte etc. noch enthalten?
  • Ist das Szenario mit einem der mitgelieferten C# MVC Samplen evtl. nachstellbar?

Mit diesen Informationen im Vorfeld lässt sich das beschriebene Szenario ein wenig besser eingrenzen, um die Ursache besser ausfindig machen zu können.

Danke für die Rückmeldung. Ich habe dazu inzwischen einen Supportfall mit den Zusatzinformationen eröffnet.