0

次のコードがあります。私の開発環境ではエラーは発生しませんが、本番環境ではエラーが発生します。

...

private Document _pdf;

public Report()
        {
            _pdf = new Document();
        }

public string GenerateReport(string reportType) {
        try {
            var fs = new FileStream("C:\\myfile.pdf", FileMode.Create);
           _pdfWriter = PdfWriter.GetInstance(_pdf, fs);


...

コードを実行すると、_pdfWriter = PdfWriter.GetInstance(_pdf, fs); で次のエラーが発生します。:

Object reference not set to an instance of an object.
    at iTextSharp.text.pdf.PdfWriter.GetInstance(Document document, Stream os)
    at Report.GenerateReport(String reportType)

なぜこのエラーが発生していると思いますか? ファイルストリームが作成され、_pdf がコンストラクターに設定されます。

アップデート

問題は、_pdf が null であることです。コンストラクターで設定されているように null である理由がわかりません。次のようにして、この問題を回避できます。

if (_pdf == null) {
    _pdf = new Document();
}
_pdfWriter = PdfWriter.GetInstance(_pdf, fs);

私はまだ私が間違っていることを知りたいです...

4

2 に答える 2

0

問題は、より多くのデータがあったため、本番環境でのタイムアウトの問題に関連していました。

于 2009-11-30T13:16:08.473 に答える