【发布时间】: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