如何使用IIS中的外部库部署应用程序

问题描述 投票:1回答:1

这是我第一次使用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)).

提前感谢。

asp.net iis dll deployment windows-server-2012-r2
1个回答
0
投票

该应用程序在您为其分配了池的IIS上运行。该池在特定帐户下运行。

因此,将此帐户添加到DCOM Config即可访问它。

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

然后在DCOM应用程序上为该用户添加权限,以便池可以读取并运行它们。

要找到DCOM配置,请转到

Control Panel | Administrative Tools | Component Services

然后打开

Component Services | Computers | My Computer | DCOM Config

找到您要使用的应用程序,单击鼠标左键以打开菜单并选择属性...那里向您的Pool用户授予权限

]

© www.soinside.com 2019 - 2024. All rights reserved.