<p>This problem occurred during daylight saving time change. After the change occurred, we've noticed that our server application started writing into the log incorrect time - one hour ahead which means that .NET caches time zone offset. We had to restart our application to resolve this problem.
I wrote a simple application to reproduce this problem. When I change the time zone while application is running, DateTime.Now property keeps producing the time in the old time zone.
Does anybody know if there is a workaround for this problem apart from restarting the application?</p>

The most common recommendation is to store DateTime.UtcNow and, when you want to show localized time to the user, convert to local time accounting for daylight savings.
.NET provides for calculations involving daylight savings time with the
DaylightTime
and
TimeZone
classes, and the
ToLocalTime
method supposedly can convert UTC to local accounting for daylight savings time.