Here, I want to record one thing, as to async and await methods, I've seen many misuses. Since these two keywords are about asynchronous programming, they are actually used with the delegates. The person in my experience who asked me about this is a very nice person Danny who used to work in microsoft, but I don't fellow with him now. If you have experience in asynchronous programming,I think you should know that this is actually about the delegates begininvoke and endinvoke. They are like threads.