C # - HttpContext-Fehler beim Speichern von HTML in Word in C #
Ich schreibe ein Plugin in c #. Und ich habe ein HTML in einemStringwriter
und ich versuche, es als Word-Dokument basierend auf anderen Beispielen auszugeben, die ich über SO und andere Stellen im Web recherchiert habe. So wie dieses: Exportieren von Daten von c # in ein Word-Dokument undhttp: //www.codeproject.com/Questions/196851/export-an-html-to-word-document-with-fixed-header
Für das Leben von mir kann ich nicht herausfinden, warum ich in der ersten Zeile eine NullReference-Ausnahme erhalteHttpContext
erscheint (eigentlich ist es so, wie ich damit umgehen soll).
Hier ist der Code:
using System.Web;
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.ContentType = "application//ms-word";
HttpContext.Current.Response.AddHeader("Content-Disposition", @"attachment; filename=D:\WORK_ORDER.doc");
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF32;
HttpContext.Current.Response.Charset = "UTF-16";
// HttpContext.Current.EnableViewState = false;
HttpContext.Current.Response.BinaryWrite(System.Text.Encoding.UTF8.GetPreamble());
HttpContext.Current.Response.Output.Write(swSource.ToString());
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
ch bin sicher, es ist zu einfach. Kann jemand darauf hinweisen, was ich hier vermisse? Vielen Dank
Aktualisiere: Ich hatte den Stack-Trace gepostet, aber er ist nicht aussagekräftig und langwierig. Die zusätzlichen Informationen sind aussagekräftiger:
Zusätzliche Informationen: Die Objektreferenz wurde nicht auf eine Instanz eines Objekts festgelegt.
Alle ähnlichen Beispiele zeigen nur diesen Code, keine Instanziierung, daher bin ich nicht in der Lage, dies zu tun. Daher würde ich mich über einige Ratschläge freuen.
Aktualisieren
Nach der genehmigten Antwort alles, was passiert ist, dass das Importieren der ReferenzbibliothekSystem.Web
bedeutet nicht, dass Sie dieses @ verwenden könnHttpContext
Objekt in einer Nicht-Web-App.
Siehe meine unten angegebene Lösung als Antwort.