编写一个程序,从控制台获取输入,并在不使用数据库的情况下将输出显示在网页中
本文关键字:数据库 情况下 网页 显示 输出 输入 一个 程序 获取 控制台 | 更新日期: 2023-09-27 18:22:08
如何编写一个C#程序,在不使用数据库的情况下从控制台获取输入并在网页中显示输出(可以使用Web服务器)?应该有一个c#和一个asp文件。
如果我理解正确,我会创建一个支持两种模式的网页:
a) 输入模式-客户端可以发布到页面并传递参数值。然后将该值存储在共享容器(或静态变量)中
b) 输出模式-客户端请求页面,并显示来自共享容器(静态变量)的值
然后,我将创建一个控制台应用程序("控制台输入"意味着控制台应用程序?),该应用程序使用WebRequest
类发布到页面并传递从控制台读取的参数。
当然可以。我现在不能为您提供正确的代码,但这个想法很简单,可以有不同的实现。
1) 创建控制台应用程序,该应用程序使用HttpWebRequest类使用GET或POST向页面发送参数(POST需要大约五行额外的代码来放置内容)。
2) 创建ASPX页面,在page_load方法中检查GET/POST中是否存在数据,如果存在,则将其存储在Application中。当GET/POST中不存在数据时,它会检查ASP.NET应用程序对象中是否存在数据,如果是,则会显示数据。页面应该自动刷新并在一段时间内,或者使用AJAX加载新消息。
3) 您可以创建相同的东西来将消息发送回控制台,通过使用"special"命令从控制台应用程序发出请求来获取新消息,该页面存储在应用程序中。
同样的事情可以使用ASMX web服务或WCF来完成。解决方案中的全部"技巧"是,在控制台应用程序中每隔一段时间发出请求,或者刷新页面,或者使用AJAX或完全回发来检索新消息。使用WCF(不仅如此),控制台应用程序可以在不需要每隔一段时间发出请求的情况下实现。
看看这些
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