Outlook-objektmodellen er ikke egnet til å kjøre i en Windows-tjeneste

Opprinnelig KB-nummer:   237913

Sammendrag

Outlook Object Model (OOM) er ikke egnet for bruk fra et program som er utformet for å kjøres som, eller som er levert av, et Windows-tjenesteprogram. Dette omfatter ASP-programmer (Active Server Page) som kjører under Internet Information Service (IIS) og programmer som kjører sammen med AT Scheduler- eller Task Scheduler-tjenestene.

OOM er en automatiseringsmodell for Outlook som er utformet for å kjøre i en pålogget brukerøkt der en bruker kan svare på dialogbokser.

Dette er en utformingsbegrensning for Outlook.

Mer informasjon

OOM har fire viktige begrensninger som gjør det uegnet for bruk i et Windows-tjenesteprogram, som følger:

  • MAPI lagrer profiler for hver bruker under HKEY_CURRENT_USER strukturen i registeret. Denne registerstrukturen lastes ikke inn når et Windows-tjenesteprogram kjører. Dette bestemte problemet kan være villedende fordi utvikleren er logget på systemet interaktivt under en utviklingssyklus. Dette fører til HKEY_CURRENT_USER at strukturen lastes inn slik at alt fungerer som forventet. Når tjenesten er testet uten at eieren av profilen er logget på interaktivt, finner ikke tjenesten profilen.

  • Bare én forekomst av Outlook (programmet som eksporterer Outlook-objektmodellen) kan kjøre om gangen i én brukerkontekst ved hjelp av én enkelt profil. Hvis den samme brukeren prøver å logge på ved hjelp av en annen profil, blir brukeren med i den eksisterende Outlook-økten. Hvis brukeren prøver å starte en annen kopi av Outlook (eller OOM) fra en annen brukerkontekst, mislykkes forsøket. Hvis et program for eksempel utgir seg for å være en annen bruker, for eksempel et Windows-tjenesteprogram, mislykkes forsøket. Denne feilen har uforutsigbare resultater, for eksempel en sperrende dialogboks eller en programfeil som fører til at Outlook slutter å svare på systemet.

  • OOM starter alltid MAPI-utskriftskøen under pålogging. MAPI-klientprogrammer som kjører som Windows-tjenesteprogrammer, må følge flere begrensninger når de logger seg på MAPI-delsystemet. Siden Outlook ikke er utformet for å kjøre som et Windows-tjenesteprogram, følges ikke disse konvensjonene.

    Hvis du vil ha mer informasjon, kan du se Innføring i Windows-tjenesteprogrammer.

  • Noen handlinger som bruker sperrende dialogbokser for OOM-heving som ikke kan forhindres, og som krever brukermedvirkning. Dette vil føre til at programmet henger.

Vi anbefaler at du bruker utvidet MAPI-kode i stedet for OOM i Windows-tjenesteprogrammene. Hvis koden ikke trenger å fungere direkte med Outlook, og du i stedet kan kjøre mot postboksen i Exchange, bør du vurdere å bruke Exchange API-er, for eksempel Graph, Exchange REST og Exchange Web Services (EWS).

Referanse

Hvis du vil ha mer informasjon, kan du se Vurderinger for automatiseringav serversiden av Office .