Вам, вероятно, следует обернуть SqlDataReader с помощью, чтобы он автоматически закрывал и удалял объект IDisposable
.
Как показано ниже
using(IRecordsReader ResultReader = GetValues())
{
//do your stuff
}
//resultReader is closed and disposed from now
Подробнее
так как вы делаете это
public IRecordsReader GetValues()
{
IRecordsReader TestReader.....
return TestReader;
}
и это
IRecordsReader ResultReader = GetValues()
это то, что вы на самом деле делаете
IRecordsReader ResultReader = TestReader
поэтому вы косвенно закрываете / удаляете экземпляр TestReader
. Ты понял?. Вставьте его в код и попробуйте узнать:)
Ответ
ОП спросили - So whether it will cause any connection pool issues? Please give your suggestions.
Если ваш лимит подключений не превышен, у вас не возникнет проблем. Но так как вы закрываете и утилизируете ресурс, у вас не будет никаких проблем:)