我无法从 Windows 托管 Web API 上的 IIS 访问 wkhtmltopdf

I cannot access wkhtmltopdf from my IIS on Windows hosted Web API

我开发了一个 ASP.NET MVC WEB Api,并在我的 Windows 机器上将其发布到 IIS。我在我的代码中使用 NReco html 来生成图像,如图 here 所示。问题是当我 运行 Action 抛出异常时:

Access to the path 'C:\inetpub\wwwroot\App_Data\wkhtmltoimage' is denied.

我在 Internet 上看到了这个错误,但找不到与我的问题相关的任何信息。显然,我需要对 IIS 的配置进行轻微更改才能访问此 App_Data 文件夹,但找不到具体设置。为什么我的 Publish 文件夹中没有 App_Data 文件夹,而在 Visual Studio 中似乎这个文件夹是空的!?部署后 wkhtmltoimage 怎么样?

我可以看到绿色的建议解决方案,但老实说我无法理解。

我阅读了 this article,其中解释了如何操作,并手动发布 Visual Studio 中的 App_Data 文件夹,因为它丢失了,请转到 c:/inetpub/wwwroot,点击它的属性,但是我在我的列表中没有看到 ASPNET,见下图

在 IIS 管理器中,转到应用程序池,select 高级参数。右键单击应用程序池,您将看到您的池的标识。

您必须授予对此池标识的访问权限。 在文件夹App_Data的权限里,添加用户"IIS AppPool\YourApplicationPoolIdentity".

它应该做的事情。

我完全控制了 IIS_IUSRS。