How to handle long running requests ? - C#