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 tilHKEY_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 .