Escriba un programa que tome la entrada de la consola y muestre la salida en una página web sin usar la base de datos

¿Cómo escribir un programa C # que toma la entrada de la consola y muestra la salida en una página web sin usar la base de datos (se puede usar el servidor web)? un archivo c # y un archivo asp deberían estar allí.

preguntado el 02 de febrero de 12 a las 11:02

Lo que vas a escribir se llama aplicación CGI (en.wikipedia.org/wiki/Common_Gateway_Interface) -

Bienvenido a Stack Overflow. Me temo que no podremos ayudarlo ya que su pregunta carece de detalles. ¿Qué intentaste hasta ahora, cuál fue el resultado? Por favor también lea stackoverflow.com/questions/how-to-ask -

No, esto no es una tarea, es algo que quiero incluir en mi proyecto pero no puedo hacerlo. Soy nuevo en ASP, aunque he hecho cosas similares en Java y Jsp. -

3 Respuestas

Si entiendo correctamente, crearía una página web que admita dos modos:

a) modo de entrada: un cliente puede publicar en la página y pasar un valor de parámetro. Luego, el valor se almacena en un contenedor compartido (o variable estática)

b) modo de salida: un cliente solicita la página y se muestra el valor del contenedor compartido (variable estática)

Luego crearía una aplicación de consola ("entrada de consola" significa una aplicación de consola?) Que publica en la página usando el WebRequest class y pasa el parámetro leído desde la consola.

Respondido 02 Feb 12, 15:02

Es como si tuviéramos 2 aplicaciones ejecutándose. 1 programa C # para recibir información del usuario y 1 aplicación ASP separada que muestra la entrada en la página web. - Arpit Bajpai

Por supuesto que se puede hacer. No puedo proporcionarle el código correcto en este momento, pero la idea es simple y puede tener diferentes implementaciones.

1) Cree una aplicación de consola que use la clase HttpWebRequest para enviar parámetros a su página usando GET o POST (POST requiere alrededor de cinco líneas de código adicionales para colocar el contenido).

2) Cree una página ASPX, que en el método page_load comprueba si existen datos en GET / POST y, en caso afirmativo, los almacena en Application. Cuando los datos no existen en GET / POST, comprueba si existen datos en el objeto de aplicación ASP.NET y, en caso afirmativo, los muestra. La página debe actualizarse automáticamente y durante algún tiempo, o usar AJAX para cargar mensajes nuevos.

3) Puede crear lo mismo para enviar mensajes a la consola, haciendo una solicitud desde la aplicación de la consola con un comando "especial" para obtener nuevos mensajes, esa página se almacena en la Aplicación.

Lo mismo se puede hacer usando los servicios web ASMX o WCF. Todo el "truco" en la solución, para realizar una solicitud en la aplicación de consola con intervalos o para actualizar la página o usar AJAX o devolución de datos completa para recuperar nuevos mensajes. Con WCF (no solo) la aplicación de consola se puede implementar sin la necesidad de realizar una solicitud con intervalos.

Respondido 02 Feb 12, 15:02

Hola, gracias por responder. Probé la primera parte y puedo leer los datos del archivo y mostrarlos en una aplicación de consola (aplicación C #), pero la segunda parte, es decir, recuperar datos del método y mostrarlos en la página web, no funciona de alguna manera. ¿Podría decirme cómo lo hacemos? Soy nuevo en ASP.net. - Arpit Bajpai

Echa un vistazo a estos

http://msdn.microsoft.com/en-us/library/system.diagnostics.process.standardoutput.aspx

// Start the child process.
Process p = new Process();
// Redirect the output stream of the child process.
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "Write500Lines.exe";
p.Start();
// Do not wait for the child process to exit before
// reading to the end of its redirected stream.
// p.WaitForExit();
// Read the output stream first and then wait.
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();

http://support.microsoft.com/kb/555134

Respondido 02 Feb 12, 15:02

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.