Jag undrar hur man dödar en Excel process på servern från Klienten med hjälp av ASP eller ASP.Net ? Har aldrig provat i .Net Så här gjorde jag i samma situation på servern med C#: nej nej och åter nej .. Döda Excel process !
Processen startas via Createobjekt när en användare trycker på en knapp på sidan .
Lite excel filer skapas på servern.
Sen när jag vill kopiera ner filerna till klienten så får jag felmmedelandet att filen används av en annan process.
Vilket jag helt håller med om att den gör för att processen avslutas inte när jag kör
Quit på den .....
I .Net har jag prova med
Quit
Dispose
Kan någon hjälpa mig med den nöten hur jag dödar processen !!!!Sv: Döda Excel process !
Men när jag jag har kört detta via VB6 så har jag sett att processen inte avslutas förrän man sätter Set ExcelApp = Nothing
om det kan va till hjälp?
mvh
MagnusSv: Döda Excel process !
xl är en Excel.Application
sheet är ett worksheet
wb är en workbook
sheet=null;
wb.Close(false,null,null);
wb=null;
xl.Quit();
xl = null;
System.GC.Collect();
/johan/Sv: Döda Excel process !
gör för gudsskull inte ngn GC collect ... du kan aldrig veta bättre än CLR'n när det är dags att köra en collect .. låt GC'n vara .. det enda riktigt vettig du kan säga till GC'n är supressfinilize för det vet du mycket bättre än clr'n ...
däremot kan du släppa COM referensen med hjälp av marshal objektet:
<code>
using System.Runtime.InteropServices;
.
.
.
.
sheet=null;
Marshal.ReleaseComObject(sheet);
wb.Close(false,null,null);
wb=null;
Marshal.ReleaseComObject(wb);
xl.Quit();
xl = null;
Marshal.ReleaseComObject(xl);
</code>