Mam program, który co kilka minut odpytuje serwis X
i pobiera z niego informacje o aktualnych statystykach. Te informacje wrzuca do serwisu Y
, który będzie gromadził historię statystyk. Serwis Y
przechowuje dane w bazie SQLite
w pliku. Do każdego rekordu dodaje datę wrzucenia, która wynosi DateTime.Now
.
Inne programy (np. webowe) korzystaja z serwisu Y
by pozyskać historię statystyk. Problem jest taki, że jak przeniosłem te programy na serwer, to występuja problemy z data. Np okazywało sie, ze gdy w programie webowym dodalem graf z AmCharts to wszystkie statystyki byly przesuniete o 2 godziny w przeszlosc. W serwisie mialem metode DeleteOldData
, ktora usuwala stare rekordy (na podstawie daty wrzucenia). Tutaj tez byl problem, gdyz np. dzialalo to dobrze, a przy kolejnym miesiacu przestalo usuwac dane.
Udalo mi sie to rozwiazac poprzez taka sztuczke:
Added = new DateTime(x.Checked.Year, x.Checked.Month, x.Checked.Day, x.Checked.Hour, x.Checked.Minute, x.Checked.Second, x.Checked.Millisecond, DateTimeKind.Local)
. Za kazdym razem w serwisie po pobraniu informacji z bazy musze zamieniac date na cos takiego, by byla ona dobrze przetwarzana. Domyslam sie, ze jest to slabe obejscie. Jak wiec powinienem lepiej to rozwiazac?