Error al depurar un componente COM + en el IDE de Visual Basic con un cliente de ASP

Seleccione idioma Seleccione idioma
Id. de artículo: 259725 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Síntomas

Cuando se depura un Microsoft COM + 1.0 componentes en Visual Basic 6.0 en un equipo basado en Microsoft Windows 2000, la siguiente mensaje de error pueden aparecer en el explorador cuando el cliente es una página Active Server (ASP):
Objeto de servidor, ASP 0178 (0x800A0005) Error en la llamada a Server.CreateObject al comprobar permisos. Se denegó el acceso a este objeto.
Cuando se depura un Microsoft COM + versión 1.5 componentes en Visual Basic 6.0 en un equipo basado en Microsoft Windows XP, la siguiente mensaje de error pueden aparecer en el explorador cuando el cliente es una página Active Server (ASP):
Objeto de servidor, ASP 0178 (0x800A0005) Error en la llamada a Server.CreateObject al comprobar permisos. Se denegó el acceso a este objeto.
Este comportamiento se produce cuando ejecuta el componente COM + desde dentro el entorno de desarrollo integrado (IDE) de Visual Basic. No se produce el error cuando ejecuta el componente en un estado compilado en una aplicación.

Causa

<machinename>El autenticación usuario, normalmente la cuenta IUSR_ <nombreequipo> cuenta si está utilizando acceso anónimo, no tiene los permisos adecuados tener acceso a la DCOM Server (VB6.exe en este caso). Cuando se depura componentes de COM + en el IDE de Visual Basic, el usuario inicial es el usuario interactivo; el usuario que tiene acceso el servidor DCOM es el usuario de autenticación.

Puesto que no hay ninguna entrada DCOM para VB6.exe, DCOM utiliza los permisos predeterminados. En Windows 2000 y Windows XP, los permisos de acceso predeterminados de DCOM se otorgan sólo a la cuenta del sistema y el usuario ejecutar de forma predeterminada. Porque el usuario iniciador y el usuario acceso al servidor DCOM Server no son los mismos, el mensaje de error se muestra en la sección "Síntomas" se produce la sección.

Solución

Hay dos soluciones sugeridas:

Solución 1

Agregar una entrada DCOM para VB6.exe en el registro. Esto permite establecer permisos específicos de DCOM para depuración COM+ Component en Visual Basic.
  1. Cree la entrada para la Depuración de ASP de VB en DCOM:
    1. Inicie el Bloc de notas u otro editor de texto y escriba la siguiente sintaxis distingue entre mayúsculas y minúsculas:
      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. Guarde el archivo como Vbaspdbg.reg.
    3. Busque la carpeta donde guardó el archivo Vbaspdbg.reg y haga doble clic en el archivo (registra automáticamente en el Windows registro).
  2. Agregue la cuenta todos los permisos de DCOM para Visual Basic depuración de ASP.

    Windows 2000
    1. Inicie DCOMCNFG. En el menú Inicio , haga clic en Ejecutar y, a continuación, escriba dcomcnfg en el cuadro de diálogo.
    2. En la página de Propiedades de configuración de COM distribuido , haga clic en la ficha aplicaciones , seleccione Depuración de ASP de VB en la lista y, a continuación, haga clic en Propiedades .
    3. En la hoja Propiedades de depuración de ASP de VB , haga clic en la ficha seguridad y, a continuación, haga clic en casilla de verificación Usar permisos de acceso personalizado . Haga clic en Modificar .
    4. En la ventana Permisos de valor del registro , haga clic en Agregar y, a continuación, agregue la cuenta todos para Permitir el acceso .
    5. Haga clic en Aceptar y, a continuación, haga clic en Aplicar para aplicar los cambios y salir de la página Propiedades de configuración de COM distribuido .
    6. Reinicie el equipo para que los cambios surtan efecto.
    Windows XP

    1. Inicie el Explorador de COM +. En el menú Inicio , haga clic en Herramientas administrativas y, a continuación, haga clic en Servicios de componentes .
    2. Haga clic para expanda Servicios de componentes , haga clic para expandir equipos , haga clic para expandir Mi PC y, a continuación, haga clic para expandir Configuración DCOM .
    3. Haga clic con el botón secundario en La depuración de ASP de VB y elija Propiedades .
    4. En la ficha seguridad , en Permisos de acceso , seleccione Personalizar y, a continuación, haga clic en Modificar .
    5. En la ventana Permisos de acceso , haga clic en Agregar y, a continuación, agregue la opción cuenta todos para permitir el acceso .
    6. Haga clic en Aceptar , haga clic en Aplicar y, a continuación, haga clic en Aceptar para aplicar los cambios y salir de la página de propiedades de configuración de DCOM.
    7. Reinicie el equipo para que los cambios surtan efecto.

Solución 2

  1. Con fines de depuración, configurar el Application Protection de directorio virtual donde reside la página ASP para "alto (aislado)." Esto obliga a la página ASP se ejecute en su propio proceso, que permite la seguridad para cambiarse sin afectar al resto del sitio Web.
    1. Inicie el Administrador de servicios de Internet.
    2. Haga clic con el botón secundario en el directorio virtual donde reside la página ASP y, a continuación, haga clic en Propiedades .
    3. Haga clic en la ficha Directorio Virtual y, a continuación, seleccione alto (aislado) en la lista desplegable de Protección de aplicación .
    4. Haga clic en Aplicar .
  2. Desactivar acceso anónimo para este directorio virtual y asegúrese de se ha seleccionado autenticación integrada de Windows o autenticación básica :
    1. En el cuadro de diálogo Propiedades para el directorio virtual, haga clic en la ficha Seguridad de directorios .
    2. Haga clic en Modificar para control de acceso anónimo y autenticación.
    3. Asegúrese de que la casilla de verificación acceso anónimo está desactivada.
    4. Haga clic en autenticación integrada de Windows o autenticación básica .
  3. Si se utiliza la autenticación integrada de Windows, a continuación, ejecute el explorador del cliente para tener acceso a la página ASP en la misma cuenta de usuario como la sesión de depuración del IDE de Visual Basic. Si se utiliza la autenticación básica, escriba el nombre de usuario y la contraseña de la misma cuenta de usuario que se ejecuta la sesión de depuración del IDE de Visual Basic.

    Nota La segunda solución se supone que no se ha modificado el COM "Permisos de acceso predeterminados". Si nunca se han alterado "Permisos de acceso predeterminados", COM crea una lista de control de acceso (ACL) que concede permiso para la cuenta del sistema y la identidad del servidor. En este escenario, la identidad de servidor es el usuario conectado con la sesión de depuración del IDE de Visual Basic. Si ha modificado el DCOM "Permisos de acceso predeterminada", a continuación, la segunda solución requiere que se está ejecutando la cuenta de usuario en el IDE de Visual Basic sesión de depuración en agregarse a "Permisos de acceso predeterminados". Se puede hacer utilizando DCOMCNFG. Para obtener información adicional, consulte "seguridad de COM" vínculo de la sección "Más información".

Estado

Este comportamiento es por diseño.

Más información

Este comportamiento no se produce en Microsoft Windows NT 4.0 y IIS 4.0. Para obtener información adicional sobre el error ASP 0178 en un equipo basado en Windows NT 4.0, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
198432PRB: Objeto de error 'ASP 0178' Instantiating COM de objeto de servidor
Para obtener información adicional acerca de la seguridad COM, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/ms686599.aspx

Propiedades

Id. de artículo: 259725 - Última revisión: miércoles, 8 de diciembre de 2004 - Versión: 4.4
La información de este artículo se refiere a:
  • Microsoft Active Server Pages 4.0 sobre las siguientes plataformas
    • the operating system: Microsoft Windows 2000
    • Microsoft Windows XP Professional
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
Palabras clave: 
kbmt kbbug kbcomplus kbdebug kbprb kbvbp600 KB259725 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 259725

Enviar comentarios

 

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