Benutzer mit den meisten Antworten
Soll man Json in eine Liste Speicher?

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
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- Bearbeitet Stefan FalzModerator Dienstag, 27. November 2018 07:24
- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Freitag, 30. November 2018 06:45
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Montag, 10. Dezember 2018 12:22
-
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- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Freitag, 30. November 2018 06:45
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Freitag, 7. Dezember 2018 11:32
-
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- Bearbeitet Stefan FalzModerator Montag, 26. November 2018 18:01
- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Freitag, 30. November 2018 06:45
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Montag, 10. Dezember 2018 12:21
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- Bearbeitet Stefan FalzModerator Montag, 26. November 2018 18:01
- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Freitag, 30. November 2018 06:45
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Montag, 10. Dezember 2018 12:21
-
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
-
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- Bearbeitet Stefan FalzModerator Dienstag, 27. November 2018 07:24
- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Freitag, 30. November 2018 06:45
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Montag, 10. Dezember 2018 12:22
-
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
-
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- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Freitag, 30. November 2018 06:45
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Freitag, 7. Dezember 2018 11:32