Winform和WebForm的异同

   工作中以来做B/S架构的系统比较多,C/S结构只是偶尔做下。最近的项目是Winform的项目。也许是好久没做Winform项目有点生。更深的了解一些。目前发现Winform和WebForm还是有些不一样的。

   一是Winform的定位机制没有Webform丰富,web里有table,div(浮动、层),Winform里的定位大多采取绝对定位,比较麻烦。而且webform可以采取相对定位,还可以用百分比的比例尽度,而winform里最多可以用下duck和anchor做下相对定位。

   二是Winform里大多数情况会用到多线程操作,而webForm里很少用到,比如有大批量数据需要后台处理,则需要多线程处理。多线程编程考虑的问题很多,经常要做线程之间的调用,有些麻烦。最近碰到问题是,在Timer的事件(独立线程)里,让线程停顿了,弄的主线程好卡。找不到原因,后来才发现,在Timer的线程里最好不要让线程Sleep,这会严重影响主线程的性能,比如ToolTip的显示。

   三是渲染方式。明显感觉Winform和Webform的方式不一样,当窗体发生变化时,Winform程序会把窗体下所有控件进行重绘,很耗性能;而基于浏览器的模式似乎只刷新需要更改的控件,对性能不会有大的影响。当系统中有大量图片时,Winform和Webform的性能就可以看的出来。

你可能感兴趣的:(.net)