@@ -132,8 +132,23 @@ protected ManagedCacheBase(bool invalidOnFirstRun)
132
132
133
133
public void ValidateData ( )
134
134
{
135
- if ( ApplicationCache . Instance . FirstRunAt > InitializedAt )
135
+ var initialized = ValidateInitialized ( ) ;
136
+ if ( ! initialized )
136
137
{
138
+ if ( DateTimeOffset . Now - LastUpdatedAt > DataTimeout )
139
+ {
140
+ Logger . Trace ( "Timeout Invalidation" ) ;
141
+ InvalidateData ( ) ;
142
+ }
143
+ }
144
+ }
145
+
146
+ private bool ValidateInitialized ( )
147
+ {
148
+ var notInitialized = ApplicationCache . Instance . FirstRunAt > InitializedAt ;
149
+ if ( notInitialized )
150
+ {
151
+ Logger . Trace ( "Initialized" ) ;
137
152
InitializedAt = DateTimeOffset . Now ;
138
153
Save ( true ) ;
139
154
@@ -143,11 +158,8 @@ public void ValidateData()
143
158
InvalidateData ( ) ;
144
159
}
145
160
}
146
- else if ( DateTimeOffset . Now - LastUpdatedAt > DataTimeout )
147
- {
148
- Logger . Trace ( "Timeout Invalidation" ) ;
149
- InvalidateData ( ) ;
150
- }
161
+
162
+ return notInitialized ;
151
163
}
152
164
153
165
public void InvalidateData ( )
@@ -189,6 +201,8 @@ public DateTimeOffset LastUpdatedAt
189
201
{
190
202
if ( ! lastUpdatedAtValue . HasValue )
191
203
{
204
+ ValidateInitialized ( ) ;
205
+
192
206
DateTimeOffset result ;
193
207
if ( DateTimeOffset . TryParseExact ( LastUpdatedAtString , Constants . Iso8601Format , CultureInfo . InvariantCulture , DateTimeStyles . None , out result ) )
194
208
{
@@ -215,6 +229,8 @@ public DateTimeOffset LastVerifiedAt
215
229
{
216
230
if ( ! lastVerifiedAtValue . HasValue )
217
231
{
232
+ ValidateInitialized ( ) ;
233
+
218
234
DateTimeOffset result ;
219
235
if ( DateTimeOffset . TryParseExact ( LastVerifiedAtString , Constants . Iso8601Format , CultureInfo . InvariantCulture , DateTimeStyles . None , out result ) )
220
236
{
0 commit comments