Если сервер, на котором вы входите в систему, использует проверку подлинности на основе файлов cookie, необходимо создать System.Net.CookieContainer, в котором будет храниться файл cookie проверки подлинности. Это довольно просто:
CookieContainer container = new CookieContainer();
// Create web request
request.CookieContainer = container;
// Create next web request
nextRequest.CookieContainer = container;
// And so on
...
Просто повторно используйте объект CookieContainer для всех ваших объектов HttpWebRequest и сохраните его в памяти для дальнейшего использования.
CookieContainer является Сериализуемым, так что вы можете сохранить его на диске, если вам нужно. Это позволит вам сохранить cookie-файлы, даже если ваш пользователь перезапустит ваше приложение.
В качестве альтернативы, если страница не использует куки-файлы, но вместо этого сохраняет идентификатор сеанса в URL-адресе, вам необходимо сохранить идентификатор сеанса в URL-адресе посещаемых вами страниц. Просто добавьте его к URL, и он должен работать. : -)