【问题标题】:Web API Access denied error after Deploying in IIS在 IIS 中部署后 Web API 访问被拒绝错误
【发布时间】:2017-03-23 03:37:55
【问题描述】:

我有一个使用 Excel 相关 DLL Microsoft.Office.Interop.Excel 的 MVC Web API 应用程序当我从 VS 2013 运行应用程序时,它在 IIS express 下运行,我可以通过 RestClient 成功向它发送 Post 请求但是当我将此应用程序部署到 IIS ,发送 Post 请求后,它给了我以下错误。

处理您的 RequestSystem.UnauthorizedAccessException 时发生意外错误:检索具有 CLSID {00024500-0000-0000-C000-000000000046} 的组件的 COM 类工厂失败,原因是以下错误:80070005 访问被拒绝。 (来自 HRESULT 的异常:0x80070005 (E_ACCESSDENIED))。

我在我的机器上拥有管理员权限,并且我已授予包含代码的文件夹的所有权限。我还添加了用户 IUSR 并授予对包含我的代码的文件夹的所有访问权限。

【问题讨论】:

  • 您使用的是哪个 IIS 版本?您是否检查过该应用是否以 IUSR 运行?
  • @JanneP : IIS 版本是 10,操作系统是 windows 10。我不知道如何检查应用程序是否以 IUSR 运行。你能分享一下这个过程吗?
  • 在 IIS 管理器中检查应用程序池标识:应用程序池->[YouAppPool]->高级设置。可以在此处找到一篇关于应用程序池标识的优秀 MS 文章:iis.net/learn/manage/configuring-security/…

标签: c# asp.net asp.net-mvc iis asp.net-web-api


【解决方案1】:

阅读 JanneP 共享的应用程序池身份文档后,我已将应用程序池身份从 ApplicationPoolIdentity 更改为 LocalSystem,现在问题得到解决,我的应用程序在IIS。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-07
    • 1970-01-01
    • 1970-01-01
    • 2020-10-27
    • 1970-01-01
    • 2018-08-10
    • 1970-01-01
    相关资源
    最近更新 更多