It seems like there are multiple problemes here that you are coping with. Unfortunatelly there is very little information from you which exact troubles you are facing and at which points in your application.
As I am not aware of a CsvReader
class in the .NET framework so I assume you are looking for an existing framework (or are already using one).
As for the code snippet you postetd, I suggest splitting this up into several pieces. Like, first load the file onto your disk in some temporary location, so you can clean up the request/response
objects right after they have finished their work.
I am not sure how the StreamReader behaves when working with that ResponseStream, there might arise some more troubles when accessing sources you possibly do not have sufficient access privileges for.
After you successfully downloaded the file to a meaningful location, you can process it with whatever tool or framework you want to you use.
Depending on the complexity of your CSV file this StackOverflow thread might also offer some inspirations for parsing the file: Very simple C# CSV reader
There should be plenty of internet resources to help you get started with your single steps, for example:
Download the file:
Downloading a file via HTTP post and HTTP get in C#
This discusses two alternatives using HttpWebRequest
to fetch your file and how to save it to your disk; Or Download Files from Web explaining this using the WebClient
class.
Parse the CSV file:
A very helpful and powerful library: FileHelpers Library Have a look at the documentation and samples to see how this works. The Delimeted File Engine
might be just what you need. Alternatively have a look at LINQ to CSV library