关于新近所了解到的东西,在一个WebForm项目里面长时间的任务应该怎么办,比如我需要一个采集器,到网上采集数百万条数据,又比如我要对一个数十M的文本文件进行切词分析并将得到的结果显示给用户。这些东西,当用户需要的时候再在后台处理是无论你的WebForm效率如何高都是来不及的,必须要有一些工具辅助,这个时候其实就可以自己写一些控制台程序或者是WinForm程序作为辅助程序,甚至可以包括在WebForm项目中。实际上,回头想想,尽管大多数C#程序员做的都是Web方面的开发,但是Web程序并没有自己想象的那么有用,说穿了仅仅是一个显示数据的东西,当然你也可以说数据也可以由Web程序的用户来添加。但是,在最近的工作当中,数据都是由WinForm或控制台程序获取并处理好,存入数据库或文本文件,然后由WebForm负责展示给用户。所以,最近对WinForm和控制台程序的看法改变了,以前只做数据显示,觉得WinForm没什么用,就是开发WinForm程序也应该用C++,其实对于不需要广大发布给用户的WinForm程序,用C#其实是很好的。核心是WebForm,而WinFrorm和控制台程序负责后勤。这才是一个项目,一个真正的网站项目。
实际上好比之前用到的代码生成器啊,采集器之类的东西,实际上也相当于这个后勤程序了。你可以分开两个完成独立的程序项目,而一些需要的定时任务,更加可以写成控制台程序,直接放在WebForm项目里,在计算机里面有定时任务调用运行。而这些程序通过数据库或文本文件与程序交流。