Ich habe eine einfache Parallel.Foreach-Schleife, die etwa 1000 Zeilen in der DataTable hat, jede dieser Zeilen ruft eine neue Klasse, aber der Speicher wird aufgebaut, bis ich nicht mehr genügend Arbeitsspeicher . Ich frage mich, wie Sie zu einer neuen Klasse in Bezug auf eine Parallele richtig disponieren. Wenn du sagst, was für eine neue Frage das ist, dann ist Parallel und Threading neu für mich.Properway zur Verfügung Klasse in Parallel.Foreach
var options = new ParallelOptions();
options.MaxDegreeOfParallelism = 5;
Parallel.ForEach(urlTable.AsEnumerable(),options, drow =>
{
WebSiteCrawlerClass WCC = new WebSiteCrawlerClass();
if (drow.ItemArray[0].ToString().Contains("$"))
{
WCC.linkGrabberwDates(drow.ItemArray[0].ToString(), "www");
}
else
{
WCC.NoDatesCarCrawler(drow.ItemArray[0].ToString(), "www");
}
});
Okay, lassen Sie mich die neue dumme Frage machen, wie kann ich wissen oder wie mache ich eine Klasse Einweg –
Es muss nicht verfügbar sein, es sei denn, es enthält Verweise auf Instanzen von anderen verfügbaren Arten oder nicht verwalteten Ressourcen . Die Methoden der Klasse müssen jedes von ihnen erstellte Einwegobjekt entsorgen. Suche nach IDisposable/Disposable pattern. – Phil
also im Grunde WebSiteCrawlerClass(): IDisposable –