Hay un proyecto antiguo en ASP, pero algunas funciones no se pueden implementar en ASP, pero es fácil de implementar en .net, por lo que el título mencionado es la cuestión.
Como fue la primera vez que lo hice, me tomó un día entero y tomé algunos desvíos. Déjame resumirlo ahora.
Paso 1.
Cree un nuevo proyecto de biblioteca de clases en vs2003, en "Propiedades del proyecto" - "Propiedades de configuración" - "Generar", establezca "Registrarse para interoperabilidad COM" en Verdadero
Paso 2.
Agrega una clase, el nombre del archivo no importa
PRUEBA de espacio de nombres
{
dosm de clase pública
{
....
prueba de cadena pública()
{
devolver "¡Hola mundo!";
}
}
}
Generar proyectoPaso
3.
Agregar un nuevo archivo .asp
<%
establecer obj=Server.CreateObject("TEST.dosm")
respuesta.escribir obj.prueba()
%>
Al explorar este archivo .asp, se muestra "¡Hola, mundo!". Lo mismo ocurre con las llamadas exitosas y otras operaciones.
Notas:
1. Si desea utilizar este componente en otras máquinas, copie el archivo .dll generado en la máquina correspondiente y luego regístrelo con "regasm your.dll /codebase". El programa regasm está en "%SystemRoot%". Directorio Microsoft.NETFramework%FrameworkVersion%".
2. El tipo de datos devuelto puede tener algunas restricciones, como el tipo de matriz, al que no es fácil acceder en vbscript (no lo he probado :(). Me pregunto si tiene algún buen método.
3. La función llamada no puede será una función estática; de lo contrario, no se encontrará.