0

私は仕事のリストを持っており、ユーザーに仕事の説明を pdf ファイルの形式で取得するオプションを提供しています。MigraDoc/PDFsharp を使用して PDF ファイルを生成します。問題は、pdf ドキュメントをレンダリングして DevServer のどこかに保存したい後、PDFsharp PdfDocument.Save() メソッドで FileStream を作成するときに UnauthorizedAccessException が発生することです。ゲームをプレイするよりも高度な目的で Windows を実際に使用したことはありません。管理者ユーザーとしてログインしているため、なぜこの例外が発生するのかわかりません。ASP.NET アプリケーションは管理者権限で実行されているはずなので、ファイルシステムのほぼどこにでもファイルを書き込むことができます。

コード。

        GridViewRow jobRow = (GridViewRow)(sender as Control).Parent.Parent;

        Document jobDocument = new Document();
        Section xyz = jobDocument.AddSection();
        xyz.AddParagraph("Wonderfull job");

        PdfDocumentRenderer pdfRenderer = new PdfDocumentRenderer(true);
        pdfRenderer.Document = jobDocument;
        pdfRenderer.RenderDocument();

        string filename = "Job_" + jobRow["3"] + ".pdf"; // Job_[title].pdf
        pdfRenderer.PdfDocument.Save(filename);

最後の行は、例外を引き起こす行です。助言がありますか?私は ASP.NET 開発者ではなく、学校のプロジェクトで ASP.NET を使用せざるを得ないため、これは非常に単純な問題かもしれませんが、何をすべきか、何を検索すればよいかわかりません。回答ありがとうございます!

4

1 に答える 1

0

管理者アカウント =! IIS ユーザー。IIS ユーザーにも書き込み権限が必要です。ほとんどのマシンでは、「IIS_User」または「ネットワーク サービス」として知られています。まず、すべてのユーザーに書き込み権限を付与できます。これがうまくいく場合は、何をすべきかがわかります。最初に絶対パスをファイル名として設定してみてください。「C:\inetpub\wwwroot」以外のディレクトリでしょうか? お役に立てれば!

于 2012-04-10T09:26:42.300 に答える