2016-11-09 133 views
4

我有一個使用Excel相關DLL的MVC Web API應用程序Microsoft.Office.Interop.Excel當我從VS 2013運行應用程序時,它運行在IIS Express下,我可以通過RestClient成功發送Post請求但是當我將這個應用程序部署到IIS時,在發送Post請求之後,它給了我下面的錯誤。在IIS中部署後,Web API訪問被拒絕錯誤

Unexpected Error occured while serving your RequestSystem.UnauthorizedAccessException: Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).

我在我的機器中擁有管理員權限,並且我已賦予包含該代碼的文件夾的所有權限。我還添加了用戶IUSR,並授予對具有我的代碼的文件夾的所有訪問權限。

+0

您使用的是哪個IIS版本?你有沒有檢查該應用程序運行爲IUSR? – JanneP

+0

@JanneP:IIS版本是10,操作系統是Windows 10. 我不知道如何檢查應用是否運行爲_IUSR_。你可以請分享一樣的過程。 –

+1

檢查IIS管理器中的應用程序池標識:應用程序池 - > [YouAppPool] - >高級設置。有關應用程序池標識的很好的MS文章可以在這裏找到:https://www.iis.net/learn/manage/configuring-security/application-pool-identities – JanneP

回答

2

讀通過JanneP共享應用程序池的身份證明文件後,我從ApplicationPoolIdentity更改應用程序池標識本地系統現在的問題得到了解決,我的應用程序IIS下可以正常使用。 enter image description here