У меня такая ситуация. Мы используем какой-то метод для входа в систему, но этот метод находится на более высоком уровне абстракции, поэтому у него есть только такие параметры, как имя пользователя и пароль, и которые создают некоторую коллекцию значений имени с этими параметрами, а затем передаются некоторому построителю запросов. Этот конструктор запросов внедрен, чтобы я мог изменить его реализацию. Сейчас мы используем запрос POST, но в будущем мы можем использовать XML или JSON, поэтому просто переключим реализацию внедренного интерфейса.
Проблема в том, что я не могу штрафовать любую библиотеку, которая заставит меня System.Net.HttpWebRequest выйти из этот набор значений имени. Мне нужен метод с прототипом вроде этого:
WebRequest / HttpWebRequest CreateRequest(Uri / string, nameValueCollection);
Или, если ничего подобного нет, библиотека, которая выполняет всю работу (отправка запросов, получение ответов и их анализ), тоже подойдет. Но он должен быть асинхронным.
Заранее спасибо.