Ho codice in questo modo:XPathDocument usa il flusso di memoria che è stato costruito dopo la costruzione?
// Take the xml message and turn it into an object
var bytes = Encoding.ASCII.GetBytes(message);
var memoryStream = new MemoryStream(bytes);
XPathDocument xPathDocument = new XPathDocument(memoryStream);
mi sono reso conto che non mi pulisco il MemoryStream
ovunque. Stavo per cambiarlo a questo:
// Take the xml message and turn it into an object
var bytes = Encoding.ASCII.GetBytes(message);
var memoryStream = new MemoryStream(bytes);
XPathDocument xPathDocument;
using(memoryStream)
{
xPathDocument = new XPathDocument(memoryStream);
}
Ma io non ero sicuro se XPathDocument
utilizza il MemoryStream
internamente dopo la costruzione. (In tal caso, avrei bisogno di aspettare e smaltirlo dopo che ho finito con lo XPathDocument
.)
Qualcuno sa quando posso smaltire questo MemoryStream
?
Hmm, solo una buona abitudine, e molte delle cose che scriviamo, provengono da FileStream ora stream clonato. L'utilizzo dell'uso ora è automatico per me in .net, poiché Try Finally è in Delphi. Non farà male da nessuna parte vicino a noi, tanto quanto dimenticare di smaltire qualcosa che dovresti avere è il modo in cui lo guardiamo. –