Как развернуть приложение с использованием внешних библиотек в IIS - PullRequest
0 голосов
/ 23 января 2020

Я впервые использую IIS, поэтому я не очень разбираюсь в том, как он работает.

Я разработал ASP. net c# приложение веб-формы для его развертывания. на сервере с использованием IIS. У меня была установлена ​​Visual Studio на сервере windows, чтобы убедиться, что приложение работает нормально, без проблем до этого момента.

Когда я публикую sh приложение из Visual Studio и поместил файловую систему сгенерированный внутри inetpub / wwwroot... страницы загружаются нормально, но только когда я пытаюсь использовать функцию приложения, которому нужна внешняя библиотека, исключение возникает точно в той строке, где объект первой внешней библиотеки зародился в коде (информация, предоставленная log).

Я подозреваю, что после развертывания в приложении IIS нет ссылок на библиотеки или нет прав доступа к ним, так как я ничего не касался внутри 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)).

Заранее спасибо.

1 Ответ

0 голосов
/ 23 января 2020

Приложение запускается на базе IIS в пуле, который вы ему присвоили. Этот пул запускается с определенной учетной записью c.

Поэтому добавьте эту учетную запись в конфигурацию DCOM, чтобы иметь к ней доступ.

Первый шаг - найти пользователя пула как. image

Затем добавьте разрешения для этого пользователя в свои приложения DCOM, чтобы пул мог их прочитать и запустить.

Чтобы найти конфигурацию DCOM, go -

Control Panel | Administrative Tools | Component Services

Затем откройте

Component Services | Computers | My Computer | DCOM Config

Там найдите свои приложения, которые вы используете, щелкните левой кнопкой мыши, чтобы открыть меню и выбрать свойства ... там дайте разрешения вашему пользователю пула

image

...