www visual net microsoft como cambiar iis-7 asp-classic 64bit

iis-7 - visual - http www microsoft com net



ASP clásico que utiliza COM+.Net Interop Servidor de 64 bits de Windows Server 2008 IIS 7 Server.CreateObject Fails (3)

Cree un archivo de prueba vbs e intente crear su objeto COM allí. Si no puede (es decir, obtiene el mismo error), entonces su componente no está registrado correctamente. Si puede, entonces se instaló correctamente y el problema es la falta de permisos para la cuenta con la que se ejecuta su aplicación en IIS.

Tengo un problema relacionado con la ejecución de un dll de .Net desde una aplicación asp clásica en un servidor de 64 bits de Windows Server 2008 que ejecuta IIS7. La situación es la siguiente:

He escrito un ensamblado .Net C # para realizar algunas tareas de encriptación. Este ensamblado se ha puesto a disposición del clásico entorno ASP heredando ServicedComponent, asegurando que el archivo assemblyinfo tenga el atributo ComVisible (verdadero) y se haya instalado usando la línea de comando "regsvcs".

Al probar en mi propio escritorio (XP con IIS6) todo funcionó bien. Cuando me cambio a IIS 7, Windows Server 2008 obtengo el infame "Servidor ASP 0177. Error de creación de objeto".

He intentado lo siguiente en vano:

  1. Asegurando que las características de extensión ASP y Script estén instaladas en el servidor, ya que este no es el predeterminado para IIS7. Esto me permitió ejecutar comandos ASP simples, pero no server.createobject para el ensamblado .net.
  2. Compatibilidad con aplicaciones de 32 bits para el grupo de aplicaciones que admite el clásico sitio asp.
  3. NetworkService utilizado como la identidad del grupo de aplicaciones que admite el clásico sitio asp.
  4. Intenté registrar dll usando regsvr32, que falló
  5. Puedo crear otros objetos como "scripting.filesystemobject"
  6. Mover dll''s al directorio wow64 y luego usar regsvcs para registrarlos.
  7. Y sí, cuando he estado ejecutando los comandos de regsvcs desde una línea de comando lanzada con el administrador "RunAs". Los comandos regsvcs se han registrado correctamente tanto en las versiones de 64 bits como en las de 64 bits. Sin embargo, cuando se utiliza desde la aplicación ASP clásica, falla.

Esta pregunta está estrechamente relacionada con esta . Sin embargo, creo que esta pregunta estaba más relacionada con el uso de herramientas en el servidor que con un problema programático similar al mío.

¿Alguien tiene más ideas para probar?


Después de mucha ayuda aquí y más investigación, finalmente encontramos la respuesta. Para resolver nuestro problema, hicimos lo siguiente:

  • Ya no hereda de ServiceComponent (Esto está bien, ya que no estamos aprovechando ninguna característica COM + específica)
  • Utilicé los siguientes comandos para instalar el componente, que debe hacerse en orden:

    gacutil / i "C: / Inetpub / wwwroot / ASPTest * nombre de dll *"

    regasm / tlb "C: / Inetpub / wwwroot / ASPTest * nombre de dll *"

Este proceso eliminó los errores originales y también tuvo la ventaja adicional de poder reemplazar el dll mientras se ejecuta IIS.


Prueba esto

Servicios de componentes -> Computadoras -> Mi PC -> Aplicaciones COM +

Abra un objeto de aplicación COM +.

Componentes abiertos.

Haga clic derecho en una clase y seleccione Propiedades.

En "Avanzado", hay una casilla de verificación para "Permitir propiedades intrínsecas de IIS".

Esto funciona para mi