IdentityServer / IdentityServer3.EntityFramework

EntityFramework persistence layer for IdentityServer3
Apache License 2.0
68 stars 97 forks source link

Rework token deserialization and remove asynchelper #107

Closed sixten closed 6 years ago

sixten commented 8 years ago

In an effort to prevent some deadlock issues we've seen in production, reworked the way that the token stores deserialize items out of the database. Instead of trying to do a blocking-asynchronous call to the database in the JsonConverters, defer that work to the store itself, where it can be done in an asynchronous context.

I fully admit that this isn't nearly as elegant and clever, and it means that the stores need to know more about the structure of what's being deserialized. But that seems a small price to pay for much greater stability, and the ability to expunge the AsyncHelper.

There's also a little test coverage for OperationalDbContext.

101