Vra

Ek skoonmaak van die DataReaders in 'n ou NET 1.1 projek wat ek geërf het.

Die vorige ontwikkelaar gekodeerde die data-toegang-laag in so 'n manier dat die meeste van die DAL metodes teruggekeer SqlDataReaders (dus laat dit tot die oproeper aan die .Close () of .Dispose () metodes behoorlik noem).

Ek het gekom oor 'n situasie, al is, waar 'n oproeper die teruggekeer SqlDataReader nie vang (en dus nie ontslae van dit behoorlik). Sien hieronder die kode:

Data Access Metode:

Public Shared Function UpdateData() As SqlDataReader
   ...

   drSQL = cmdSQL.ExecuteReader(CommandBehavior.CloseConnection)

   Return drSQL

End Function

Oproep-kode:

...
DataAccessLayer.UpdateData()
...

Soos jy kan sien, is die roeping metode nie ontvang / vang die teruggekeer SqlDataReader. So wat gebeur? Is dat SqlDataReader nog daar buite en oop? Of is dit outomaties kry vullis ingesamel sedert niks dit aanspreek?

Ek kon nie dink aan 'n manier om debug en toets dit. As iemand enige idees of voorstelle wat sal wonderlik wees.

Was dit nuttig?

Oplossing

Ek glo dat dit sal kry gesluit, maar nie tot die vullis-versamelaar kry 'n ronde om dit, wat nie kan wees vir 'n baie lang tyd ...

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top