У меня очень простое приложение, мы передаем ему список наших веб-сайтов, и оно выполняет параллельный foreach для них, а внутри каждого действия отправляет ему http-сообщение.
Аналогично ниже:
static int success = 0
static void Main(string[] args) {
try {
Parallel.ForEach(sites, site=> {
try{
if(DoWebPost(site)) {
Console.Write("Posted {0} - {1}", ++success, site);
}
} catch {}
});
} catch {}
}
Я не могу понять, почему он вызывает исключение OutOfMemoryException, не говоря уже о том, почему это приведет к сбою всего приложения, а не только к перехвату и продолжению.
РЕДАКТИРОВАТЬ: Не совсем точно, где происходит исключение, так как оно не локально, только при работе в производстве ... что означает, что отладка недоступна. Приложение имеет 64 бита и редко использует более 100 мегабайт.