none
TimeStamp wurde nicht gefunden

    Frage

  • Hallo,

    ich habe ein Azure Projekt, bei dem ich auf den TableStorage zugreifen. Das hat die ganze Zeit auch wunderbar funktioniert. Aber in letzter Zeit bekomme ich immer die Meldung:

    Laufzeitfehler in Microsoft JScript: Sys.WebForms.PageRequestManagerServerErrorException: Feld oder Eigenschaft mit dem Namen TimeStamp wurde nicht in der ausgewählten Datenquelle gefunden.

    Das passiert wenn ich CreateTableIfNotExist() aufrufe. Aber auch nur manchmal. Genauer gesagt hat es nie funktioniert. Dann habe ich das Visual Studio geschlossen und wieder geöffnet, dann hat es einmal funktioniert und dann wieder nicht mehr. Erneutes schließend und öffnen hat daran auch nichts geändert.

    Aber auch wenn CreateTableIfNotExist() funktioniert, bleibt das Programm beim nächsten Select hängen. Ideen?

    Donnerstag, 13. September 2012 14:58

Alle Antworten

  • Hallo,

    kannst Du uns mal deinen Code zeigen? Ich weiss im Moment nicht genau, was Du machst.

    Schöne Grüße

    Oliver

    Donnerstag, 13. September 2012 15:03
    Moderator
  • Öhm, klar. Ich bin mir gerade bloß nicht sicher was relevant ist.

    Also im Prinzip ist es dieser Teil:

    storageAccount = GlobalStorageAccount.GetGlobalStorageAccount(); storageAccount.CreateCloudTableClient().CreateTableIfNotExist(tableName);

    GlobalStorageAccount sieht so aus:

    public class GlobalStorageAccount { private static CloudStorageAccount _storageAccount; public static CloudStorageAccount GetGlobalStorageAccount() { if (_storageAccount == null) { var acc = new StorageCredentialsAccountAndKey("...", "..."); _storageAccount = new CloudStorageAccount(acc, true); } return _storageAccount; } }

    Vielleicht sollte ich noch erwähnen, dass das ganze in einem Thread abläuft.

    protected void StartButton_Click(object sender, EventArgs e)
    {
            var t = new Thread(ThreadProcess);
            t.Start();
    }
    
    private void ThreadProcess(object data)
    {
        // Prozess
        // ...
        // ...CreateTableIfNotExist()...
        // ...
    }
    Der Grund dafür ist, dass es sich um einen längeren Prozess handelt. Der Status wird über einen Timer abgerufen.
    • Bearbeitet Lyfexu Donnerstag, 13. September 2012 15:28
    Donnerstag, 13. September 2012 15:20