Meine Anwendung verwendet Microsoft.Office.Interop.Excel-Dienst, um einen Excel-Bericht zu generieren und als PDF herunterladen. Wenn mehr als ein Benutzer dieselbe Seite anfordert, wird i: e; Derselbe Benutzer kann das Ergebnis erhalten, aber der spätere Benutzer generiert eine Ausnahme. Können wir dies vermeiden, indem wir jedem Benutzer einzelne Threads zur Verfügung stellen? I: e; Wenn jemand läuft, müssen andere einige Sekunden warten.Verwenden von Threads pro Benutzer für den Zugriff auf einen gemeinsamen Dienst
sind hier mein Code:
protected void btn2games_Click(object sender, ImageClickEventArgs e)
{
myfilepath = "acd.xlsx";
try
{
string sr = Server.MapPath(myfilepath.ToString());
if (File.Exists(myfilepath))
{
File.Delete(myfilepath);
}
}
catch
{
}
ExceltoPdf();
}
protected void ExceltoPdf()
{
//here the code goes : to fetch data from DB and write to Excel using Office.Interop.Excel
}
Versuchen Sie, einige Komponenten von Drittanbietern zu bekommen, die Ihre Excel-Tabellen und PDFs stattdessen erstellen ... Installieren von Excel in Ihrer Produktionsumgebung und es zu laufen, ist historisch (nach Angaben von Kollegen) ein Schmerz gewesen ... Für PDFs habe ich DynamicPdf verwendet, es funktioniert gut. – mortb
Bitte teilen Sie die Ausnahme mit uns. Ist das eine Web App oder eine Client App? – Slugart