Announcement

Collapse
No announcement yet.

System.Runtime.InteropServices.COMException

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • System.Runtime.InteropServices.COMException

    Hallo zusammen,
    in einer ASP.NET-Applikation versuche ich eine WORD-Serienbriefdatei mit
    einer Steuerdatei zu verbinden mit der folgenden Funktion(VB.NET FW1.1):

    Public Function WordMerge(ByVal WrdSource As String, ByVal CsvSource As
    String, ByVal TargetPath As String) As String
    Dim WordApp As New Word.Application
    Dim WordDoc As Word.Document
    Dim rslt As String = Guid.NewGuid.ToString & ".doc"

    Try
    WordDoc = WordApp.Documents.Open(CType(WrdSource, Object))
    WordDoc.Select()
    WordDoc.MailMerge.OpenDataSource(CsvSource)
    WordDoc.MailMerge.Destination =
    Word.WdMailMergeDestination.wdSendToNewDocument
    WordDoc.MailMerge.Execute(False)
    WordDoc.AcceptAllRevisions()
    WordApp.ActiveDocument.SaveAs(TargetPath & rslt, Type.Missing,
    Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
    Type.Missing, Type.Missing, Type.Missing, Type.Missing)
    Catch ex As Exception
    Throw ex
    Finally
    If Not (WordDoc Is Nothing) Then WordDoc.Close(False)
    If Not (WordApp Is Nothing) Then WordApp.Quit(False)
    End Try

    Return rslt
    End Function

    Ich kriege leider jedes mal ein Exception :
    "System.Runtime.InteropServices.COMException" an der Stelle, wo WORD versucht
    die Datei zu öffnen. Ich habe daraufhin versucht mit dem dcomcnfg.exe die
    Zugriffsrechte für den ASPNET neu zuzuordnen trotzdem klappts bislang nicht.
    kann jmd vielleicht dabei helfen.
    Danke im voraus

  • #2
    Hallo,

    welchen Eintrag nutzt die Anwendung für authentication mode sowie identity impersonate in der web.config?

    Je nach der gewählten Konfiguration ist es notwendig, die Zugriffsrechte des Betriebssystem für das Benutzerkonto ASPNET bzw. für den jeweiligen Benutzer anzupassen. Wenn zum Beispiel in der web.config die Authentication auf Windows gesetzt ist und im IIS nur anonyme Anmeldung erlaubt werden, dann wird bei aktivierter Impersonisierung der Benutzer IUSR_Rechnername verwendet. Wenn in diesem Fall jedoch die anonyme Anmeldung deaktiviert wurde und statt dessen Windows-Anmeldung angesagt ist, dann führt ASP.NET die Zugriffe unter dem Benutzerkonto des jeweiligen Anwenders durch.

    Um die Word-Datei öffnen zu können, werden je nach der Konfiguration des virtuellen Webverzeichnisses (IIS) bzw. der ASP.NET-Anwendung (web.config) verschiedene Benuterkonten verwendet:
    • ASPNET (bzw. das in der machine.config global definierte Benutzerkonto)
    • Benutzerkonto des interaktiv angemeldeten Aufrufers der Webseite
    • IUSR_Rechnername

    Die angehängte Abbildung verdeutlicht das Prinzip.

    P.S: Selbstverständlich hängt es auch davon ab, welche IIS-Version (bzw. Modus) verwendet wird.
    Zuletzt editiert von Andreas Kosch; 29.11.2007, 09:39.

    Comment

    Working...
    X