ASP.NET приложение,делаем элементарную операцию
Excel.Application app = new Excel.ApplicationClass();
app.Quit();
после нее Excel висит в памяти.
Варианты типа
app.DisplayAlerts = false;
app.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(app);
app = null;
GC.Collect();
и т.д. не помогают. Может кто подскажет как бороться?
Здравствуйте, Kostyа, Вы писали:
K>ASP.NET приложение,делаем элементарную операцию
K>и т.д. не помогают. Может кто подскажет как бороться?
Эта проблема уже очень давно и интенсивно обсуждалась на различных асп.нет форумах. Решение вкратце — киллять процесс.
Microsoft очень не рекомендует использовать Server-Side Office Automation.
Можно использовать .csv в качестве альтернативы, использовать ODBC.
На крайний случай — попробовать работать с одним экземпляром экселя.
Ежели череп прогрызла мышь — время забыть о былом
Здравствуйте, Kostyа, Вы писали:
K>Видать, по другому не получится. А как убить конкретный экземпляр Excel'я?
Видимо, здесь нужно действовать через WinAPI. Впрочем, вот я тут нашел информацию:
Excel.Application app = new Excel.ApplicationClass();
app.DisplayAlerts = false;
app.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(app);
app = null;
GC.Collect();
GC.WaitForPendingFinalizers();
Говорят, выделенная строчка помогает

Сам не пробовал, был бы рад узнать, помогло или нет.
Любая весть изначально благая, просто ты к этому еще не привык
Здравствуйте, Gollum, Вы писали:
G>Здравствуйте, Kostyа, Вы писали:
K>>Видать, по другому не получится. А как убить конкретный экземпляр Excel'я?
G>Видимо, здесь нужно действовать через WinAPI. Впрочем, вот я тут нашел информацию:
G>G>Excel.Application app = new Excel.ApplicationClass();
G>app.DisplayAlerts = false;
G>app.Quit();
G>System.Runtime.InteropServices.Marshal.ReleaseComObject(app);
G>app = null;
G>GC.Collect();
G>GC.WaitForPendingFinalizers();
G>
G>Говорят, выделенная строчка помогает
Сам не пробовал, был бы рад узнать, помогло или нет.
Уже пробовал. Голый Excel выгружается, а если открывал Workbook — нет, хотя все возвращаемые ссылки
чистил тем же Marshal'oм