Обходной путь заключается в использовании обратного прокси-сервера, запущенного на вашем «исходном» хосте, и пересылки на ваш целевой сервер, например Fiddler:
Ссылка здесь: http: //docs.telerik. com / fiddler / configure-fiddler / tasks / usefiddlerasreverseproxy
Или обратный прокси-сервер Apache ...
Я мог бы сделать что-то подобное. Другой код мог бы получить строго типизированные объекты, а не общий читатель. Кроме того, поскольку datareader доступен для потоковой передачи, вы также можете передавать свои объекты, перенастраивая IEnumerable. Это позволит вам обрабатывать данные, поскольку они все еще читаются (и даже распараллеливать операцию, если это необходимо или необходимо).
Функция GetYourObjectFromDrFunction (), очевидно, сделает необходимый массаж и создаст экземпляр YourObject.
public IEnumerable<YourObject> GetEm()
{
// assume we have your IDataReader named dr
while (dr.Read())
{
yield return GetYourObjectFromDrFunction(dr);
}
}