none
Soll man Json in eine Liste Speicher? RRS feed

  • Frage

  • Hallo,

    ich habe da eine Frage Wenn ich Informationen aus einer Json-Datei Laden möchte wie mache ich sowas am besten

    Soll man die Informationen einmal bei Start der App in eine Liste "List<>" speichern und dann greift man dadrauf zu oder ist das besser jedesmal wenn ich Informationen brauche die Json-Datei lesen

    Danke

    mfg

    Jürgen 

    Montag, 26. November 2018 16:13

Antworten

  • Hallo Jürgen,

    eien Einstellungsdatei, die sich nicht ändert, kann man ruhig einmal laden und dann für die Laufzeit der Anwendung beibehalten. Bzgl. deiner Frage nach dem Arbeitsspeicher: Was zur Hölle willst Du da laden? Das ganze Internet? :)

    Ob da nun 10 KB oder 10 MB Speicher verbraten werden: Es kommt wie immer darauf an, was es ist, wie viel es ist, wann Du das wo und wie brauchst, ... Bei reinen Einstellungen ist die Datenmenge in der Regel sehr gering, so dass es keine Probleme mit Speichergrenzen, ... geben sollte.

    Bzgl. Der Frage zur Datenbank: Auch hier kommt es stark darauf an, um welche und wie viele Daten es geht.

    Ein Beispiel: Ich arbeite bei so gut wie allen Anwendungen im Webbereich mehrsprachig, d.h. sämtliche Labels, Buttonbeschriftungen, Hilfstexte, ... liegen mehrsprachig vor. In der Regel lade ich diese Daten einmal beim Anwendungsstart aus der Datenbank vor, cache diese und stelle diese dann über alle Instanzen/Requests global bereit. Das sind dann auch mal gerne 2.000 oder auch mehr Elemente (pro Sprache).

    Größere Inhaltstexte werden on demand geladen (also dann, wenn sie benötigt werden) und dann je nach Einstellung gecacht oder auch nicht.

    Es gibt also keine pauschale Aussage: Mach es so oder so.

    Webanwendungen sind zudem was anderes als Desktopanwendungen oder Apps.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
    https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport


    Dienstag, 27. November 2018 07:23
    Moderator
  • Hallo Jürgen,

    das ist korrekt. Die Kundenliste wirst Du in der Regel nie komplett benötigen, daher wäre das Vorhalten einer solchen Liste nicht unbedingt sinnvoll.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
    https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport

    Dienstag, 27. November 2018 10:02
    Moderator
  • Hallo Jürgen,

    um JSON Daten zu verarbeiten, würde ich mir JSON.NET anschauen. IMHO die beste und umfangreichste Option.

    Wann Du die Daten in welcher Form liest, kommt zum einen darauf an, ob sich während der Laufzeit deiner Anwendung Änderungen in der Datei ergeben können, die Du dann berücksichtigen musst.

    Wenn die einzigen Schreibzugriffe von dir bzw. deiner Anwendung erfolgen und es nicht gerade Millionen von Datenstrukturen sind, würde ich diese einmal laden und dann in der Anwendung global zur Verfügung stellen.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
    https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport


    Montag, 26. November 2018 18:00
    Moderator

Alle Antworten

  • Hallo Jürgen,

    um JSON Daten zu verarbeiten, würde ich mir JSON.NET anschauen. IMHO die beste und umfangreichste Option.

    Wann Du die Daten in welcher Form liest, kommt zum einen darauf an, ob sich während der Laufzeit deiner Anwendung Änderungen in der Datei ergeben können, die Du dann berücksichtigen musst.

    Wenn die einzigen Schreibzugriffe von dir bzw. deiner Anwendung erfolgen und es nicht gerade Millionen von Datenstrukturen sind, würde ich diese einmal laden und dann in der Anwendung global zur Verfügung stellen.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
    https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport


    Montag, 26. November 2018 18:00
    Moderator
  • OK Danke

    Also in der Json-Datei sind nur Einstellungen die sich nicht ändern sollte ich die bei start einmal laden ? Aber wird der Arbeitsspeicher nicht unnötig Gefühlt wenn ich das in eine liste speicher?

    Jetzt habe ich natürlich noch eine Frage wie ist das mit einer SQL Datenbank soll man da besser jedesmal eine Anfrage starten wenn wann es braucht oder soll man auch da die Daten die sich nicht ändern einmal bei Start der App laden?

    Mfg

    Jurgen

    Dienstag, 27. November 2018 06:47
  • Hallo Jürgen,

    eien Einstellungsdatei, die sich nicht ändert, kann man ruhig einmal laden und dann für die Laufzeit der Anwendung beibehalten. Bzgl. deiner Frage nach dem Arbeitsspeicher: Was zur Hölle willst Du da laden? Das ganze Internet? :)

    Ob da nun 10 KB oder 10 MB Speicher verbraten werden: Es kommt wie immer darauf an, was es ist, wie viel es ist, wann Du das wo und wie brauchst, ... Bei reinen Einstellungen ist die Datenmenge in der Regel sehr gering, so dass es keine Probleme mit Speichergrenzen, ... geben sollte.

    Bzgl. Der Frage zur Datenbank: Auch hier kommt es stark darauf an, um welche und wie viele Daten es geht.

    Ein Beispiel: Ich arbeite bei so gut wie allen Anwendungen im Webbereich mehrsprachig, d.h. sämtliche Labels, Buttonbeschriftungen, Hilfstexte, ... liegen mehrsprachig vor. In der Regel lade ich diese Daten einmal beim Anwendungsstart aus der Datenbank vor, cache diese und stelle diese dann über alle Instanzen/Requests global bereit. Das sind dann auch mal gerne 2.000 oder auch mehr Elemente (pro Sprache).

    Größere Inhaltstexte werden on demand geladen (also dann, wenn sie benötigt werden) und dann je nach Einstellung gecacht oder auch nicht.

    Es gibt also keine pauschale Aussage: Mach es so oder so.

    Webanwendungen sind zudem was anderes als Desktopanwendungen oder Apps.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
    https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport


    Dienstag, 27. November 2018 07:23
    Moderator
  • Hi

    Ich Danke dir für die schnelle und verständliche Antwort. Das habe ich mir auch schon gedacht.

    Das heißt aber auch das ich z.B bei einer Kunden-Liste einen kunden suchen würde, müsste ich am besten direct die SQL-Datenbank abfragen da eine Kunden liste sehr groß sein kann und sich immer verändert richtig?

    Mfg

    Jürgen

    Dienstag, 27. November 2018 09:24
  • Hallo Jürgen,

    das ist korrekt. Die Kundenliste wirst Du in der Regel nie komplett benötigen, daher wäre das Vorhalten einer solchen Liste nicht unbedingt sinnvoll.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
    https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport

    Dienstag, 27. November 2018 10:02
    Moderator