Foros del Web » Programación para mayores de 30 ;) » .NET »

Enviar datos desde asp a c#

Estas en el tema de Enviar datos desde asp a c# en el foro de .NET en Foros del Web. Buenas, necesito pasar una serie de valores desde asp a una aplicación en c#. Estuve buscando sobre como hacer sockets en asp, pero solo encuentro ...
  #1 (permalink)  
Antiguo 30/07/2009, 09:12
 
Fecha de Ingreso: julio-2009
Mensajes: 82
Antigüedad: 14 años, 9 meses
Puntos: 0
Enviar datos desde asp a c#

Buenas,

necesito pasar una serie de valores desde asp a una aplicación en c#. Estuve buscando sobre como hacer sockets en asp, pero solo encuentro sockets que ha creado la gente.

¿Hay alguna otra forma de hacerlo? Muchas gracias
  #2 (permalink)  
Antiguo 30/07/2009, 10:56
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 21 años, 8 meses
Puntos: 16
Respuesta: Enviar datos desde asp a c#

si estas usando .net, entonces es cosa de invocar la dll y pasarle parametros.


checa estos links

http://www.devx.com/webdev/Article/30811/1954

http://weblogs.asp.net/dneimke/archi.../31/65330.aspx
  #3 (permalink)  
Antiguo 05/08/2009, 04:17
 
Fecha de Ingreso: julio-2009
Mensajes: 82
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Enviar datos desde asp a c#

Gracias por la ayuda, pero sigue sin funcionar

Estoy siguiendo el siguiente ejemplo: ht tp://ww w.c-sharpcorner.com/UploadFile/mahesh/pr1211252005231855PM/pr12.aspx

Conseguí crear una librería en c#

Código c#:
Ver original
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace Comun
  7. {
  8.     public class Comunicacion
  9.     {
  10.         private string mensaje;
  11.         public Comunicacion()
  12.         {
  13.             mensaje = "";
  14.         }
  15.  
  16.         public void enviaMensaje (string n)
  17.         {
  18.             mensaje = n;
  19.         }
  20.  
  21.         public string recibeMensaje()
  22.         {
  23.             return mensaje;
  24.         }
  25.     }
  26. }

que intento usar en esta página get2.aspx.cs (ya agregué la referencia)

Código aspx:
Ver original
  1. using System;
  2. using System.Collections;
  3. using System.Configuration;
  4. using System.Data;
  5. using System.Linq;
  6. using System.Web;
  7. using System.Web.Security;
  8. using System.Web.UI;
  9. using System.Web.UI.HtmlControls;
  10. using System.Web.UI.WebControls;
  11. using System.Web.UI.WebControls.WebParts;
  12. using System.Xml.Linq;
  13. using Comun;
  14.  
  15. public partial class get2 : System.Web.UI.Page
  16. {
  17.     protected void Page_Load(object sender, EventArgs e)
  18.     {
  19.        
  20.     }
  21.     Comunicacion c = new Comunicacion();
  22.     c.enviaMensaje("hola");
  23.    
  24. }

pero me da el siguiente error:

Error 1 El token '(' no es válido en una clase, estructura o declaración de miembro de interfaz Linea 22

Alguna sugerencia?
  #4 (permalink)  
Antiguo 05/08/2009, 06:15
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 21 años, 8 meses
Puntos: 16
Respuesta: Enviar datos desde asp a c#

si, ve a un foro de C#

=P
  #5 (permalink)  
Antiguo 10/08/2009, 05:10
 
Fecha de Ingreso: julio-2009
Mensajes: 82
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Enviar datos desde asp a c#

Buenas,

al final he empleado sockets (emitiendo datos desde aspx y recibiendolos en la aplicación de escritorio) y un backgroundWorker para realizar la escucha en segundo plano.

El problema es que al ejecutar la página web, manda los datos correctamente a la aplicación de escritorio, pero si recargo la página, no se envía nada. ¿Alguna idea de por qué está pasando esto?

Muchas gracias
  #6 (permalink)  
Antiguo 10/08/2009, 05:41
 
Fecha de Ingreso: julio-2009
Mensajes: 82
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Enviar datos desde asp a c#

Solucionado (o eso creo)


Lo que hice fue introducir la siguiente linea dentro del bucle de escucha

handler = socket.Accept();

Os dejo el código de los sockets por si os interesa

Página ASP (C#)
Código asp:
Ver original
  1. System.Net.IPAddress direc = System.Net.Dns.GetHostEntry("localhost").AddressList[0];
  2.         int puerto = 12345;
  3.         System.Net.IPEndPoint Ep = new System.Net.IPEndPoint(direc, puerto);
  4.         System.Net.Sockets.Socket socket = new System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork, System.Net.Sockets.SocketType.Stream, System.Net.Sockets.ProtocolType.Tcp);
  5.         Byte[] SendBytes;
  6.         Byte[] RecvBytes = new Byte[255];
  7.  
  8. mensaje = "Tag no válido en el sistema";
  9.             SendBytes = Encoding.UTF8.GetBytes(mensaje);
  10.             //SendBytes = Encoding.ASCII.GetBytes(mensaje);
  11.             try
  12.             {
  13.                 socket.Connect(Ep);
  14.             }
  15.             catch (Exception e)
  16.             {
  17.                 Response.Write(e.ToString());
  18.             }
  19.             if (socket.Connected)
  20.             socket.Send(SendBytes, SendBytes.Length, System.Net.Sockets.SocketFlags.None);

Aplicación C#
Código c#:
Ver original
  1. private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
  2.         {
  3.  
  4.             System.Net.IPAddress direc = System.Net.Dns.GetHostEntry("localhost").AddressList[0];
  5.             int puerto = 12345;
  6.             System.Net.IPEndPoint Ep = new System.Net.IPEndPoint(direc, puerto);
  7.             System.Net.Sockets.Socket socket = new System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork, System.Net.Sockets.SocketType.Stream, System.Net.Sockets.ProtocolType.Tcp);
  8.             socket.Bind(Ep);
  9.             socket.Listen(100);
  10.            
  11.  
  12.  
  13.             byte[] bytes = new byte[1024]; //Declaramos un array de bytes de longitud 1024
  14.             int count;
  15.             String data = ""; //Declaramos data, que sera donde se almacenaran los datos
  16.  
  17.             do //Bucle Do/While
  18.             {
  19.                 handler = socket.Accept();
  20.                 count = handler.Receive(bytes); //Recibimos los datos enviados y lo guardamos en cout.
  21.                 data = System.Text.Encoding.UTF8.GetString(bytes, 0, count); //Lo codificamos a cadena (ya que se envian como bytes)
  22.                 if (data != "") //Mientras lo recibido no sea exit + \n (es decir, exit + Intro, ya que intro tambien se envia)
  23.                 {
  24.                     //Console.Write("Se a recibido: {0}", data); //Mostramos lo recibido pro pantalla
  25.                     MessageBox.Show(data);
  26.                     data = "";
  27.                 }
  28.  
  29.  
  30.             } while (true);
  31. }
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:37.