仓酷云
标题:
ASP.NET编程:使用Visual C#完成Windows管道手艺
[打印本页]
作者:
莫相离
时间:
2015-1-16 22:32
标题:
ASP.NET编程:使用Visual C#完成Windows管道手艺
无论谁倒了对双方阵营的粉丝们也是有害无益。visual|window 管道手艺一样平常接纳WindowAPI来完成,比来我试着用C#来完成Windows管道手艺,发明C#自己便利的历程线程机制使事情变得复杂至极,顺手纪录一下,保举给人人。
起首,我们能够经由过程设置Process类,猎取输入接口,代码以下:
Processproc=newProcess();
proc.StartInfo.FileName=strScript;
proc.StartInfo.WorkingDirectory=strDirectory;
proc.StartInfo.CreateNoWindow=true;
proc.StartInfo.UseShellExecute=false;
proc.StartInfo.RedirectStandardOutput=true;
proc.Start();
然后设置线程一连读取输入的字符串:
eventOutput=newAutoResetEvent(false);
AutoResetEvent[]events=newAutoResetEvent[1];
events[0]=m_eventOutput;
m_threadOutput=newThread(newThreadStart(DisplayOutput));
m_threadOutput.Start();
WaitHandle.WaitAll(events);
线程函数以下:
privatevoidDisplayOutput()
{
while(m_procScript!=null&&!m_procScript.HasExited)
{
stringstrLine=null;
while((strLine=m_procScript.StandardOutput.ReadLine())!=null)
{
m_txtOutput.AppendText(strLine+"
");
m_txtOutput.SelectionStart=m_txtOutput.Text.Length;
m_txtOutput.ScrollToCaret();
}
Thread.Sleep(100);
}
m_eventOutput.Set();
}
这里要注重的是,利用以下语句使TextBox显现的老是最新增加的,而AppendText而不利用+=,是由于+=会形成全部TextBox的回显使得全部显现地区闪灼
m_txtOutput.AppendText(strLine+"
");
m_txtOutput.SelectionStart=m_txtOutput.Text.Length;
m_txtOutput.ScrollToCaret();
为了不堵塞主线程,能够将全部历程放到一个另外一个线程里就能够了
我觉得这个学习方法很重要。初学者应该跟我一样有同样一个毛病。那就是急于求成。很想就自己做出个小小的系统来。可真要动手,却又茫然而不知所措。为什么会这样呢?因为我们没有耐心去学习基础知识。写根本看不到什么效果的测试代码。
作者:
愤怒的大鸟
时间:
2015-1-19 16:20
比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。
作者:
精灵巫婆
时间:
2015-1-25 10:37
asp.net最主要特性包括:◆编程代码更简洁◆网站可实现的功能更强大◆运行效率高◆节省服务器的动作资源
作者:
兰色精灵
时间:
2015-2-2 21:42
是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。
作者:
金色的骷髅
时间:
2015-2-8 07:18
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
作者:
灵魂腐蚀
时间:
2015-2-24 23:36
由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。
作者:
admin
时间:
2015-3-7 14:07
同时也感谢博客园给我们这个平台,也感谢博客园的编辑们做成专题引来这么多高人指点。
作者:
不帅
时间:
2015-3-15 07:35
业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
作者:
小女巫
时间:
2015-3-21 21:41
业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2