Closed Chiel75 closed 8 months ago
@Chiel75 just want o clarify, are you referring to this line that logs as an error should instead log as info?
Hi @wenxi-zeng No, but if this line results in an empty string, there is no need to try and deserialize it into a settings object and let it throw an exception.
@Chiel75 sorry for the late response. after discussion, our team also feel we should log the empty string case as an info, but keep the deserialization case as an exception. we will push an update for this in the next release.
fixed in 2.3.4
We use the Analyics.CSharp in an ASP.Net project. After the appPool times out, the memory is cleared. When the website is waking up again because of user activity, the Analytics StartUp() is called again (as it should because we registrered the Analytics as a singleton). After waking up, in the StartUp() is tried to: await Store.Provide(System.DefaultState(Configuration, Storage)); In the DefaultState method the cache is read from the storage (in this case the lost inmemorystream because of the appPool) and returns an empty string variable cache. After that, the empty cache string will generate an exception that is being logged.
Expected behavior No uneccesary exception should be thrown. Maybe an info message the the state could not be found from the cache.
Platform (please complete the following information):