Доступ запрещен OutLook DCOM

Я пытаюсь установить приложение ASP.NET, и у меня проблема с OutLook.

Код позади:

OutlookApplication = new Application();
NameSpace nameSpace = OutlookApplication.GetNamespace("MAPI");
nameSpace.Logon("", "", missing, missing);
nameSpace = null;

Когда я играю в приложение с Visual Studio, все в порядке.

Когда я играю в приложение с IIS, тогда:

System.UnauthorizedAccessException: получение фабрики классов COM для> компонента с CLSID {000209FF-0000-0000-C000-000000000046} не удалось из-за> следующей ошибки: 80070005 Доступ запрещен. (Исключение из HRESULT: 0x80070005> (E_ACCESSDENIED)).

Я уже пытался изменить конфигурацию DCOM для «Вложения сообщения OutLook» с помощью:

Приличия -> Личность -> Выполнить пользователя

Приличия -> Безопасность -> все виды доступа авторизованы для "всех".

NB: У меня нет проблем с другими офисными программами (Excel и Word).


person GrayFox    schedule 23.09.2015    source источник
comment
Если вы правильно пометите свои вопросы, у вас больше шансов достичь соответствующей аудитории и, следовательно, больше шансов получить ответ. Это категорически НЕ asp-classic.   -  person Martha    schedule 23.09.2015


Ответы (1)


Я пытаюсь установить приложение ASP.NET, и у меня проблема с OutLook.

В настоящее время Microsoft не рекомендует и не поддерживает автоматизацию приложений Microsoft Office из любых автоматических, неинтерактивных клиентских приложений или компонентов (включая службы ASP, ASP.NET, DCOM и NT), поскольку Office может работать нестабильно. поведение и / или тупик при запуске Office в этой среде.

Если вы создаете решение, работающее в контексте на стороне сервера, вам следует попытаться использовать компоненты, которые были безопасны для выполнения в автоматическом режиме. Или вам следует попытаться найти альтернативы, которые позволяют запускать хотя бы часть кода на стороне клиента. Если вы используете приложение Office из серверного решения, у этого приложения не будет многих необходимых возможностей для успешной работы. Кроме того, вы будете рисковать стабильностью вашего решения в целом. Подробнее об этом читайте в статье Рекомендации по серверной автоматизации Office.

В качестве обходного пути вы можете рассмотреть возможность использования низкоуровневого API, на котором основан Outlook (Extended MAPI), или любых сторонних оболочек вокруг этого API, например Redemption.

person Eugene Astafiev    schedule 23.09.2015
comment
Привет, Евгений! Большое спасибо за ответ. Я посмотрю на API Redemption, как посоветовали :) - person GrayFox; 25.09.2015