If you could add something to Kentico, what would it be and why?

Add .net 4.5 framework async support

It would be great if support for async requests / methods was added to the internal API, web forms/controls & Kentico's MVC implementation.

This would obviously be a paradigm shift for many developers but Microsoft has already shown how to manage having both async and synchronous APIs existing side-by-side to allow the most flexibility for developers.

I realize that Kentico makes great use of caching which helps alleviate heavy loads on the database but there are times, with highly dynamic sites, where querying the database is required.

Business logic calls to System.Net.WebClient would also benefit from utilizing a full async request lifecycle.

24 votes
Vote
Sign in
(thinking…)
Password icon
Signed in as (Sign out)
You have left! (?) (thinking…)
Sean Wright shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

Hi, Thank you very much for this idea.

Code/API tweaks like this have to be done with caution and piece by piece. I am wondering what concrete scenarios required the async API in some way. Could you be so kind as to describe what did you implement with a need of async API?

Maybe an async version of ObjectQuery could be just enough.

Thank you

Regards,

Michal Kadak
Platform Product Owner

5 comments

Sign in
(thinking…)
Password icon
Signed in as (Sign out)
Submitting...
  • Sean Wright commented  ·   ·  Flag as inappropriate

    The lack of this feature is even more noticable now with MVC in Kentico 12. The rest of the ASP.NET / .NET world has moved to async/await for db, filesystem, external web service calls. Kentico's data access layer is still sync in 2019.

  • Chris commented  ·   ·  Flag as inappropriate

    Hi Michal,

    an Async Version of the Object Query would be a great step in the right direction

  • Sean Wright commented  ·   ·  Flag as inappropriate

    @Michal,

    It would be great if we could leverage the async model binding for .net 4.6 webforms
    https://blogs.msdn.microsoft.com/webdev/2015/06/11/cool-asp-net-web-forms-features-in-2015-async-model-binding/

    I imagine a scenario where I need to pull data from a Kentico custom module class provider, the ShoppingCartInfoProvider and a Tax provider that makes async requests to a remote web service.

  • Sean Wright commented  ·   ·  Flag as inappropriate

    @Michal,

    Thanks for responding!

    At my company we integrate a lot with 3rd party web services which are often REST-like APIs. Sometimes these calls can take some time to complete and if we have to make multiple calls serially that can lead to the thread in IIS being locked for a period of time.

    If we could implement async throughout the entire request/response lifecycle then the threads could be used to handle other requests while the API calls are blocking.

    Since it is recommended that when implementing async it should be implemented 'all the way down' (http://blogs.msdn.com/b/pfxteam/archive/2012/04/13/10293638.aspx) it would make the adoption easier if Kentico also exposed an async implementation.

    I would have to explore a test example to be certain, but I feel as though an async ObjectQuery would possibly be sufficient.

    Thanks!

  • AdminMichal Kadák (E-commerce and Platform Product Owner, Kentico) commented  ·   ·  Flag as inappropriate

    Hi, Thank you very much for this idea.

    Code/API tweaks like this have to be done with caution and piece by piece. I am wondering what concrete scenarios required the async API in some way. Could you be so kind as to describe what did you implement with a need of async API?

    Maybe an async version of ObjectQuery could be just enough.

    Thank you

    Regards,

    Michal Kadak
    Platform Product Owner

Feedback and Knowledge Base