Las extensiones de servidor ISAPI son archivos DLL. Trabajan en el espacio de proceso del servidor. Solicitudes simultáneas a una extensión ISAPI se controlan mediante subprocesos separados. Por consiguiente, el código en una extensión ISAPI debe ser seguras para los subprocesos.
Situación
Métodos de acceso de base de datos que utilizan COM para manejar la inicialización no son seguras para los subprocesos. El problema específico radica en inicializar las bibliotecas COM en un hilo y luego utilizando otro subproceso para acceder a los datos. La implementación actual de los controladores de escritorio de Microsoft ODBC entra en esta categoría. Estos controladores (dBase, Microsoft Visual FoxPro, Microsoft Access, Microsoft Excel, Paradox y texto) que se suministran con Visual C++, utilice el motor de base de datos de Microsoft Jet 3.0, que no es segura para subprocesos. Además, Data Access Objects (DAO) es una API basada en COM, por lo que no se ejecuta fiable en el entorno multiproceso de extensión ISAPI.
Puede haber otros métodos de acceso de la base de datos que no son seguras para los subprocesos.
Resolución
Para acceder a una base de datos de una extensión de servidor ISAPI, usar un controlador ODBC que ha sido diseñado y probado para su uso multiproceso. Un ejemplo son los controladores ODBC de Microsoft para Microsoft SQL Server 6.x.
Las clases de base de datos ODBC de MFC son seguras para los subprocesos como de MFC 4.2. Asegúrese de que cualquier controlador de base de datos ODBC que utiliza con estas clases también es segura para subprocesos.
Las aplicaciones que utilizan las clases de base de datos ODBC de MFC anteriores a la versión 4.2 de MFC deben tener el código de base de datos colocado dentro de una sección crítica para asegurar que sólo un subproceso tiene acceso el código de base de datos MFC en un momento. Para obtener más información, vea la clase CCriticalSection.
Actualmente, las clases de base de datos DAO MFC no son seguras para los subprocesos porque utilizan los objetos basada en COM de DAO.
&Notas técnicas por número |nbsp; Notas técnicas por categoría