2012-08-27 69 views
0

我通過wkhtmltopdf(使用來自C#的進程)從HTML頁面生成PDF文件。通過進程 - ASP.NET和Windows Server 2008 R2寫入文件夾

在本地系統(Windows 7)上工作,但在Windows Server 2008 R2上,我有「System.IO.FileNotFoundException」。 Process(C#)執行的wkhtmltopdf沒有足夠的權限來寫入文件。

我測試了很多文件夾(例如:「APPDIR/Content/temp」),但我不知道該怎麼辦。

回答

1

您的應用程序運行的過程必須具有足夠的權限才能寫入文件夾。

您的(很可能由ASP.NET標籤判斷)網站可以配置爲在IIS管理控制檯中以任何用戶身份運行。

默認情況下,應用程序池將作爲ApplicationPoolIdentity運行並授予您使用的訪問權限:IIS AppPool\ApplicationPoolName帳戶。

您還可以將應用程序池更改爲另一個帳戶運行,併爲該帳戶配置文件夾權限。

你將不得不在框中輸入完整的帳戶名作爲搜索是一個Active Directory功能,並如預期的本地帳戶(在選擇用戶或組對話框)

enter image description here

+0

我不工作在文件夾權限框中沒有「IIS AppPool \\ ***」帳戶。 – Adrian

+0

@Adrian更新了我的答案。您必須將此用戶添加到列表中。 – LukeP

+0

感謝您的回覆。我通過icacls c:\ XYZ/grant添加了「IIS APPPOOL \ DefaultAppPool」:(OI)(CI)(RX)(也作爲完全控制權限)。我使用cmd是因爲在GUI中找不到IIS APPPOOL \ DefaultAppPool。但它仍然不起作用。 wkhtmltopdf無法將文件寫入文件夾(從C#我可以編寫,但Process中的wkhtmltopdf不能)。任何想法? – Adrian

相關問題