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>