Fehler beim Debuggen von COM+-Komponente in der Visual Basic-Entwicklungsumgebung mit einem ASP-client

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 259725 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Problembeschreibung

Beim Debuggen eine möglicherweise COM+ 1.0-Komponente in Visual Basic 6.0 auf einem Microsoft Windows 2000-basierten Computer die folgenden Fehlermeldung im Browser angezeigt, wenn der Client eine Seite (Active Server Pages) ist:
Serverobjekt, der Aufruf zu Server.CreateObject ist, fehlgeschlagen während der Überprüfung Berechtigungen, ASP 0178 (0x800A0005). Der Zugriff auf dieses Objekt wurde verweigert.
Beim Debuggen eine möglicherweise COM+ 1.5-Komponente in Visual Basic 6.0 auf einer Microsoft Windows XP-basierten Computer die folgenden Fehlermeldung im Browser angezeigt, wenn der Client eine Seite (Active Server Pages) ist:
Serverobjekt, ASP 0178 (0x800A0005) der Aufruf zu Server.CreateObject beim Überprüfen der Berechtigungen ist fehlgeschlagen. Der Zugriff auf dieses Objekt wurde verweigert.
Dieses Verhalten tritt nur auf, wenn Sie die COM+-Komponente von innerhalb der integrierten Entwicklungsumgebung (IDE) von Visual Basic ausführen. Der Fehler tritt nicht auf, wenn Sie COM+-Komponente in einem kompilierten Zustand in einer COM+-Anwendung ausführen.

Ursache

<machinename>Der authentifizierende Benutzer in der Regel IUSR_ <computername> Konto, wenn Sie anonymen Zugriff verwenden hat keinen entsprechenden Berechtigungen auf DCOM Server (in diesem Fall VB6.exe). Beim Debuggen von COM+-Komponenten in der IDE von Visual Basic ist der startende Benutzer den interaktiven Benutzer; der Benutzer, die Zugriff auf die DCOM-Server ist dem authentifizierenden Benutzer.

Da es kein DCOM-Eintrag für VB6.exe, verwendet DCOM die Standard-Berechtigungen. In Windows 2000 und Windows XP werden die DCOM-Standard-Zugriffsberechtigungen nur das Systemkonto und der startende Benutzer standardmäßig erteilt. Da der startende Benutzer und der Benutzer den Zugriff auf DCOM-Server nicht identisch, die Fehlermeldung dargestellt sind Abschnitt "Problembeschreibung" auftritt.

Lösung

Es gibt zwei mögliche Abhilfen:

1. Umgehungsmöglichkeit

Fügen Sie einen DCOM-Eintrag für VB6.exe in die Registrierung. Dadurch können Sie bestimmte DCOM Berechtigungen für COM+ Component Debuggen in Visual Basic festlegen.
  1. Erstellen Sie den Eintrag für in DCOM VB ASP-Debugfunktionen :
    1. Starten Sie Microsoft Editor oder einem anderen Texteditor und geben Sie die Groß-/Kleinschreibung folgende Syntax:
      REGEDIT4
      [HKEY_CLASSES_ROOT\CLSID\{70F214BA-94E2-4bdf-8F30-32CB4A905E4D}]
      @="VB ASP Debugging"
      [HKEY_CLASSES_ROOT\CLSID\{70F214BA-94E2-4bdf-8F30-32CB4A905E4D}\LocalServer32]
      @="vb6.exe"
      [HKEY_CLASSES_ROOT\AppID\vb6.exe]
      "AppId"="{70F214BA-94E2-4bdf-8F30-32CB4A905E4D}"
    2. Speichern Sie die Datei als Vbaspdbg.reg.
    3. Suchen Sie den Ordner, in dem Sie die Vbaspdbg.reg-Datei gespeichert, und doppelklicken Sie auf die Datei (es automatisch registriert sich selbst in der Windows-Registrierung).
  2. Fügen Sie das Konto jeder DCOM-Berechtigungen für das Visual Basic ASP-Debuggen.

    Windows 2000
    1. Starten Sie DCOMCNFG. Klicken Sie auf Start auf Ausführen und geben Sie Dcomcnfg im Dialogfeld.
    2. Klicken Sie auf der Seite DCOM-Konfigurationseinstellungen auf die Registerkarte Anwendungen aus der Liste auf VB ASP Debuggen , und klicken Sie dann auf Eigenschaften .
    3. Die Eigenschaftenseite VB ASP Debuggen Eigenschaften klicken Sie auf die Registerkarte Wertpapiere , und aktivieren Sie dann das Kontrollkästchen Benutzerdefinierte Zugriffsberechtigungen verwenden . Klicken Sie auf Bearbeiten .
    4. Klicken Sie im Fenster Berechtigungen für Registrierungswert auf Hinzufügen , und fügen Sie das Konto jeder für Zugriff gewähren .
    5. Klicken Sie auf OK , und klicken Sie anschließend auf Übernehmen , übernehmen die Änderungen und schließen der Eigenschaftenseite des Distributed-Konfiguration .
    6. Starten Sie den Computer neu, damit die Änderungen wirksam werden.
    Windows XP

    1. Starten Sie COM+-Explorer. Start klicken Sie auf Verwaltung und klicken Sie dann auf Komponentendienste .
    2. Und klicken Sie auf Erweitern Sie Komponentendienste , erweitern Sie Computer , erweitern Sie Arbeitsplatz , dann um DCOM-Konfiguration zu erweitern.
    3. Mit rechter Maustaste klicken Sie VB ASP Debuggen , klicken Sie dann auf Eigenschaften .
    4. Wählen Sie auf der Registerkarte Wertpapiere unter Zugriffsberechtigungen Anpassen , und klicken Sie dann auf Bearbeiten .
    5. Klicken Sie im Fenster Zugriffsberechtigungen auf Hinzufügen und dann fügen Sie die Option jeder Konto für Zugriff gewähren hinzu .
    6. Klicken Sie auf OK , klicken Sie auf Übernehmen und klicken Sie auf OK , um die Änderungen übernehmen und die DCOM-Konfiguration-Eigenschaftenseite zu schließen.
    7. Starten Sie den Computer neu, damit die Änderungen wirksam werden.

Problemumgehung 2

  1. Konfigurieren Sie für Debugzwecke, der Schutz der virtuellen Anwendungsverzeichnis sich, wo die ASP-Seite befindet ? Hoch (isoliert). " Dies zwingt die ASP-Seite in einem eigenen Prozess ausgeführt ermöglicht die Sicherheit geändert werden, ohne die restlichen-Website.
    1. Starten Sie Internetdienste-Manager.
    2. Klicken Sie mit der rechten Maustaste auf das virtuelle Verzeichnis, in dem sich die ASP-Seite befindet, und klicken Sie dann auf Eigenschaften .
    3. Klicken Sie auf die Registerkarte Virtuelles Verzeichnis , und wählen Sie Hoch (isoliert) in der Anwendungsschutz -Dropdown-Liste aus.
    4. Klicken Sie auf Übernehmen .
  2. Deaktivieren Sie anonymen Zugriff für dieses virtuelle Verzeichnis, und stellen Sie sicher integrierte Windows-Authentifizierung oder Authentifizierung aktiviert ist:
    1. Klicken Sie im Dialogfeld Eigenschaften für das virtuelle Verzeichnis auf die Registerkarte Verzeichnissicherheit .
    2. Klicken Sie für die Steuerung des anonymen Zugriffs und Authentifizierung auf Bearbeiten .
    3. Stellen Sie sicher, dass das Kontrollkästchen Anonymer Zugriff deaktiviert ist.
    4. Klicken Sie auf integrierte Windows-Authentifizierung oder Authentifizierung .
  3. Wenn integrierte Windows-Authentifizierung verwendet wird, führen Sie den Clientbrowser auf die ASP-Seite unter dem gleichen Benutzerkonto wie die Visual Basic-Entwicklungsumgebung Debug-Sitzung zugreifen. Wenn Sie zur Authentifizierung verwendet wird, geben Sie den Benutzernamen und das Kennwort für das gleiche Benutzerkonto, unter die Visual Basic-Entwicklungsumgebung Debug-Sitzung ausgeführt wird.

    Hinweis: Die zweite Problemumgehung wird davon ausgegangen, dass das com-"Standardzugriffsberechtigungen" nicht geändert wurden. Wenn "Standardmäßige Zugriffsberechtigungen" nie geändert wurde, erstellt COM eine Zugriffssteuerungsliste (ACL), die das Systemkonto und Server IDENTITY Berechtigung erteilt. In diesem Szenario ist die Server-Identität des Benutzers in die IDE von Visual Basic-Debugsitzung ausgeführt. Wenn DCOM "Standardzugriffsberechtigungen" geändert wurde, dann die zweite Problemumgehung erfordert, dass das Benutzerkonto, das Visual Basic IDE-Sitzung Debuggen ausgeführt wird "Standardzugriffsberechtigungen" unter hinzugefügt werden. Dies kann durch Verwendung von DCOMCNFG erfolgen. Weitere Informationen finden Sie "com-Sicherheit" Link im Abschnitt "Weitere Informationen".

Status

Es handelt sich hierbei um ein beabsichtigtes Verhalten.

Weitere Informationen

Dieses Verhalten tritt in Microsoft Windows NT 4.0 und IIS 4.0 nicht auf. Weitere Informationen über den ASP 0178 Fehler auf einem Windows NT 4.0-basierten Computer folgendem Artikel der Microsoft Knowledge Base:
198432PRB:-Objekt-Fehler 'ASP 0178' Instanziierungsanwendung COM-Objekt
Weitere Informationen zu COM-Sicherheit der folgenden Microsoft Developer Network (MSDN)-Website:
http://msdn2.microsoft.com/en-us/library/ms686599.aspx

Eigenschaften

Artikel-ID: 259725 - Geändert am: Mittwoch, 8. Dezember 2004 - Version: 4.4
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Active Server Pages 4.0, wenn verwendet mit:
    • the operating system: Microsoft Windows 2000
    • Microsoft Windows XP Professional
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
Keywords: 
kbmt kbbug kbcomplus kbdebug kbprb kbvbp600 KB259725 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 259725
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com