Il modello a oggetti di Outlook non è adatto per l'esecuzione in un servizio Windows

Numero KB originale: 237913

Riepilogo

Il modello a oggetti di Outlook (OOM) non è adatto per l'uso da un'applicazione progettata per essere eseguita come o generata da un'applicazione del servizio Windows. Sono incluse le applicazioni ASP (Active Server Page) eseguite in Internet Information Service (IIS) e le applicazioni eseguite insieme ai servizi AT Scheduler o Utilità di pianificazione.

OOM è un modello di automazione per Outlook progettato per l'esecuzione in una sessione dell'utente connesso in cui un utente può rispondere alle finestre di dialogo.

Si tratta di una limitazione di progettazione di Outlook.

Ulteriori informazioni

OOM presenta quattro limitazioni principali che lo rendono inadatto all'uso in un'applicazione di servizio Windows, come indicato di seguito:

  • MAPI archivia i profili per ogni utente nell'hive HKEY_CURRENT_USER del Registro di sistema. Questo hive del Registro di sistema non viene caricato quando viene eseguita un'applicazione del servizio Windows. Questo particolare problema può essere ingannevole perché, durante un ciclo di sviluppo, lo sviluppatore ha eseguito l'accesso al sistema in modo interattivo. In questo modo l'hive HKEY_CURRENT_USER viene caricato in modo che tutto funzioni come previsto. Dopo che il servizio è stato testato senza che il proprietario del profilo sia connesso in modo interattivo, il servizio non riesce a individuare il profilo.

  • Solo un'istanza di Outlook (l'applicazione che esporta il modello a oggetti di Outlook) può essere eseguita alla volta in un contesto utente usando un singolo profilo. Se lo stesso utente tenta di accedere usando un secondo profilo, questo tentativo aggiunge l'utente alla sessione di Outlook esistente. Se l'utente tenta di avviare un'altra copia di Outlook (o OOM) da un contesto utente diverso, il tentativo non riesce. Ad esempio, se un'applicazione rappresenta un utente diverso, ad esempio un'applicazione del servizio Windows, il tentativo ha esito negativo. Questo errore ha risultati imprevedibili, ad esempio una finestra di dialogo modale o un errore dell'applicazione che causa la mancata risposta di Outlook al sistema.

  • OOM avvia sempre lo spooler MAPI durante l'accesso. Le applicazioni client MAPI eseguite come applicazioni del servizio Windows devono seguire diverse limitazioni quando accedono al sottosistema MAPI. Poiché Outlook non è stato progettato per l'esecuzione come applicazione del servizio Windows, queste convenzioni non vengono seguite.

    Per altre informazioni, vedere Introduzione alle applicazioni di servizio Windows.

  • Alcune azioni che usano OOM generano finestre di dialogo modali che non possono essere impedite e che richiedono l'intervento dell'utente. In questo modo l'applicazione sembra bloccarsi.

È consigliabile usare il codice MAPI esteso anziché OOM nelle applicazioni del servizio Windows. Se il codice non deve funzionare direttamente con Outlook e può invece essere eseguito sulla cassetta postale di Exchange, è consigliabile usare le API di Exchange, ad esempio Graph, REST di Exchange e Exchange Web Services (EWS).

Riferimento

Per altre informazioni, vedere Considerazioni sull'automazione lato server di Office.