In this era of artificial intelligence and the internet of things, it is quite common that everybody is focusing on automation and diminishing human intervention in various processes. Though IVR is one very common solution for the decreasing manpower in supporting system or helpline from the decade, it is quite difficult and lengthy process to integrate it with web solution to do automated processing based on user voice or key input on the call. Twilio comes up with the Twilio Studio which is a very effective solution with drag and drop option to create various flows and initiate HTTP requests to trigger actions based on user input.
Most of the applications in our internet world are having some automatic task scheduling mechanism like email reminders, expiry notifications etc. For small-scale applications, we can do this type of functionality by running background tasks. Quartz.net is one of the famous libraries to schedule background tasks in .net web applications.
The asynchronous method call is a mechanism in which control execution returns directly to the next statement without waiting for the method operation execution. Every asynchronous call is associated with a dedicated thread. IIS has a limited number of application thread pools (default 5000 per CPU). IIS can handle that number of concurrent request at a time. So if you have a situation where you expect a large number of concurrent requests in a single application, asynchronous method call will be a good practice. Where synchronous call executes by occupying 5000 threads, asynchronous can perform the same task with only 50 available threads.