簡體   English   中英

如何在 IIS 中使用外部庫部署應用程序

[英]How to deploy an app using external libraries In IIS

這是我第一次使用 IIS,所以我不太了解它是如何工作的。

我開發了一個 ASP.net c# web 表單應用程序,以便使用 IIS 在服務器上部署它。 我在 Windows 服務器上安裝了 Visual Studio,以確保應用程序正常工作,到目前為止沒有問題。

當我從 Visual Studio 發布應用程序,並將生成的文件系統放在 inetpub/wwwroot 中時……頁面加載正常,但就在我嘗試需要外部庫的應用程序功能時,恰好在該行中引發異常第一個外部庫的對象在代碼中固定的位置(日志提供的信息)。

我懷疑一旦部署在 IIS 應用程序上就沒有庫的參考或沒有訪問它們的權利,因為除了將文件系統添加到 depault 應用程序池之外,我還沒有觸及 IIS 內部的任何內容。 但是我該如何解決這個問題呢?

這是我從日志中得到的兩個錯誤跟蹤:

Retrieving the COM class factory for component with CLSID {ED0EC116-16B8-44CC-A68A-41BF6E15EB3F} failed due to the following error : 80070154 Class not registred (Exception  HRESULT : 0x80040154 (REGDB_E_CLASSNOTREG)).

或其他時間:

Retrieving the COM class factory for component with CLSID  {00024500-0000-0000-C000-000000000046} failed due to the following error : 80070005 Access Denied. (Exception  HRESULT : 0x80070005 (E_ACCESSDENIED)).

提前致謝。

該應用程序基於您分配給它的池在 IIS 上運行。 此池在特定帳戶下運行。

因此,將此帳戶添加到 DCOM 配置以便能夠訪問它。

第一步是找到您的池用戶。

然后在您的 DCOM 應用程序上為該用戶添加權限,以便池可以讀取它們並運行它們。

要查找 DCOM 配置,請轉到

Control Panel | Administrative Tools | Component Services

然后打開

Component Services | Computers | My Computer | DCOM Config

在那里找到您使用的應用程序,左鍵單擊打開菜單並選擇屬性...那里授予您的 Pool 用戶權限

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM