Buenas,
tengo un equipo que accede a una página asp y le pasa unas variables por get. Bien, el problema es que según un determinado valor de una de esas variables debo comunicarme con una aplicación en C#, para lo cual he construido un ensamblado que es quien realmente se comunica con la aplicación en C# empleando sockets. Este ensamblado usa a su vez otro ensamblado.
He creado el ensamblado siguiendo los pasos de esta
web pero no me va. en la aplicación WinForms en C# no se recibe nada, incluso no llega a ejecutarse la línea "flujo.WriteLine("llega") de la página ASP que escribe en un fichero de texto.
ED: el error que me da es que no encuentra el otro ensamblado, ¿también lo tengo que registrar con regasm?
Una pregunta, los dos ensamblados, ¿deben estar en la misma versión de framework?
Dim objeto
objeto = Server.CreateObject(enviarDatos.EnviarDatos)
Response.Write objeto.comprobar(ipLector,code)
flujo.WriteLine("llega")
Espero que puedan ayudarme. Muchas gracias
Código de la página ASP
Código asp:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title></title>
</head>
<body>
<%
Dim ahora
ahora = Now()
Dim fecha
Dim mes
Dim dia
Dim horas
Dim minutos
Dim segundos
if Month(ahora) < 10 then
mes = "0" & Month(ahora)
else
mes = Month(ahora)
end if
if Day(ahora) < 10 then
dia = "0" & Day(ahora)
else
dia = Day(ahora)
end if
if Hour(ahora) < 10 then
horas = "0" & Hour(ahora)
else
horas = Hour(ahora)
end if
if Minute(ahora) < 10 then
minutos = "0" & Minute(ahora)
else
minutos = Minute(ahora)
end if
if Second(ahora) < 10 then
segundos = "0" & Second(ahora)
else
segundos = Second(ahora)
end if
fecha = Year(ahora) & "/" & mes & "/" & dia & " " & horas & ":" & minutos & ":" & segundos
archivo= request.serverVariables("APPL_PHYSICAL_PATH") & "LectorLog.txt"
set con_FSO = createObject("scripting.filesystemobject")
'Dim flujo
set flujo = con_FSO.OpenTextFile (archivo,8)
'setup variables
Dim cmd
cmd = Request.QueryString("cmd") 'get the command from the reader
'$cmd=$_GET["cmd"]; // get the command from the reader
Dim mode
mode = Request.QueryString("mode") 'get the reader type
'$mode=$_GET["mode"]; // get the reader type
Dim code
code = Request.QueryString("code") 'get the card code
'$code=$_GET["code"]; // get the card code
Dim time
time = Request.QueryString("time") 'get the time when card code is logged
'$time=$_GET["time"]; // get the time when card code is logged
Dim fechaL
fechaL = Request.QueryString("date") 'get the date when card code is logged
'$date=$_GET["date"]; // get the date when card code is logged
Dim ipLector
ipLector = Request.QueryString("id")
flujo.WriteLine("CMD="&cmd&"MODE="&mode&"CODE="&code&"TIME="&time&"DATE="&fechaL)
'Response.Write(fecha)
Response.Write("<AVEA>")
'echo "<AVEA>"; // starting flag
select case (cmd)
case "PU":
Response.Write("CK="+fecha)
Response.Write("BEEP=1")
case "CO":
Response.Write("CK="+fecha)
'Response.Write("GRNT=02")
Dim objeto
objeto = Server.CreateObject(enviarDatos.EnviarDatos)
Response.Write objeto.comprobar(ipLector,code)
flujo.WriteLine("llega")
case "HB":
'Response.Write("BEEP=1")
end select
Response.Write("</AVEA>")
flujo.Close()
'switch ($cmd) {
'case "PU": // power up
'echo "CK=$st"; // set clock
'if ($mode=="ID2") { // this is WEB08S reader
'echo "DHCP=1"; // turn on the DHCP feature
'}
'break;
'case "CO": // card only
'echo "CK=$st"; // set clock
'if ($code==$mycard) {
'echo "MSG=3f737937"; // show message OPEN, for WEB05A only
'echo "GRNT=01"; // grant access
'} else {
'echo "DENY"; // deny access
'}
'break;
'case "HB": // heartbeat
'echo "CK=$st"; // set clock
'break;
'}
'echo "</AVEA>"; // ending flag
%>
</body>
</html>