назад к списку статей

Как настроить IIS для работы Asp.Net с Ms Office Word и Excel

Asp.Net WordЕсли в приложении Asp.Net используются сборки Microsoft.Office.Interop.Excel или Microsoft.Office.Interop.Word, то при разворачивании на IIS возникнут проблемы. И связаны они с доступом к COM-объектам из под учетной записи IIS.

В среде Visual Studio при запуске таких приложений никаких проблем не будет. Word и Excel отлично отработают. Однако, при попытке запустить тот же самый функционал под IIS, начнут сыпаться исключения.

Все дело в том, что по умолчанию Microsoft Office не предназначен для серверного использования. Это связано с тем, что Windows не обеспечивает достаточную безопасность системы при использовании COM-объектов пользователями интернета.

Если же вам все-таки необходимо настроить Asp.Net сайт на работу с Word или Excel, нужно настроить параметры доступа к DCOM-объектам Ms Office.

Примечание: На сервере должен быть установлен .Net Framework и IIS. Инструкция по установке описана здесь Как установить Asp.Net и зарегистрировать его в IIS

Итак, настраиваем доступ к Microsoft Office:

    • в «Пуск->Выполнить…» выполните команду «mmc.exe»;

      Примечание: (для x64-систем если Microsoft Office установлен в каталог «Program Files (x86)» вместо «mmc.exe» нужно прописать «mmc.exe -32»).

    • в появившемся окне выбрать «Файл->Добавить или удалить оснастку…»:

      Asp.Net Excel

    • в левом столбце выбрать «Службы компонентов», нажать «Добавить», затем «ОК»:

Asp.Net Interop

  • в появившейся оснастке выбрать «Корень консоли->Службы компонентов->Компьютеры->Мой компьютер->Настройка DCOM->Документ Microsoft Word», правой кнопкой мыши вызвать контекстное меню и выбрать «Свойства»:

    IIS Word

    Примечание: для Excel действия те же самые, только на этом этапе нужно выбрать «Документ Microsoft Excel».

  • на вкладке «Удостоверение» выбрать «Указанный пользователь» и вписать пользователя, под которым запускается веб-приложение:

    IIS Excel

  • на вкладке «Безопасность» в блоке «Разрешения на запуск и активацию» выбрать «Настроить», нажать кнопку «Изменить…». Здесь нужно добавить пользователя, под которым запускается веб-приложение, с правами «Локальный запуск»:

    IIS Interop

Теперь веб-приложение имеет право на запуск MS Word на сервере.

Заключение

По утверждению Microfost, приложения Office не приспособлены для использования в серверной среде. Одна из причин в том, что в Office не учтены некоторые вопросы безопасности, характерные для распределенных систем. Ms Office не проверяет входящие запросы и не обеспечивает защиту от злоумышленного запуска макроса.

В качестве альтернативы предлагают использование XML для формирования документа. Однако, личный опыт показал, что при реальном использовании xml, созданные документы Excel оказались намного тяжеловеснее, чем те же документы, сформированные с помощью Interop. А для веб-сайтов размер передаваемого трафика - один из важнейших критериев.

Вам также может быть интересно:

Установка Asp.Net и регистрация в IIS

Установка и настройка IIS 5.1 на Windows XP

Установка и настройка IIS 6 на Windows 2003

Установка и настройка IIS 7 на Windows 2008

назад к списку статей


I'mon Google+ .