.Net2.0 --Winform结合WebBrowser控件和Socket老技术来实现另类Push~
原文:.Net2.0 --Winform结合WebBrowser控件和Socket老技术来实现另类Push~
目前的企业级开发比较流行的是Web2.0技术,但是由于Web技术基于请求--响应的交互模式,使很多效果无法有效的呈现。
比如在Push技术上面,很多人感到头痛~ 如何让服务器主动请求Browser端~ 这个技术很多技术普通的开发人员都感到很难解决(包括我~呵呵)
其实要在企业级开发中实现Push技术,难度是有,但是我们要懂得变换方式。 如果技术上一直卡在Push技术的研究上,很浪费时间。下面我讲讲我做的一个"伪Push” :
一:实现Form与页面的交互
HtmlElement btnElement = htmlDoc.All["btnClose"];//在文档中找到需要和form交互的元素
if (btnElement != null)
{
btnElement.Click += new HtmlElementEventHandler(HtmlBtnClose_Click);//给这个元素Click事件(元素为Button)加上EventHandler(委托方法名)
}
我这里给出的是简单的示例 这个示例详细版本来源为博客园一位仁兄~ 感谢~~
二:实现伪Push
我们现在已经能够实现form和页面进行交互了~ 那怎么实现Push呢?
其实我使用form承载页面的原因就是在这里,可能有人会觉得我麻烦~ 为什么不用Ajax动态刷数据呢?这样是可以实现无刷新得到实时的新数据,但是不停的刷服务器和通讯上面都是会冒较大的风险,我说过我们做的是企业级开发,稳定性和安全性都应该考虑到,所以我选择使用form承载web页面,这样的话,一般业务上的工作流转和业务操作都可以用先进的web技术来呈现和执行,另外实时取得数据(停留在某页面上,不用刷新就能得到服务端主动发过来的新数据)在web上还不成熟,只能依靠ajax动态主动请求服务器来实现所谓的Push推进;这样显然不如用老技术:Socket好用~
到这里大家也该明白我的思路了。 就是使用Socket技术进行信息交互,实现服务器指定某客户端去进行操作,然后通过form和页面的事件交互技巧来实现一个Push效果~
第一次发技术文章,这个东西我是昨天想到的~ 以前一直没用过,通过在本社区里查找资料,得到一些技术支持。自己也做过实验,证明了这中想法的可行性~ 如果各位有什么看法的话 留言给我~
.Net2.0 --Winform结合WebBrowser控件和Socket老技术来实现另类Push~的更多相关文章
- winform中WebBrowser控件执行脚本
在实际应用中我们可能需要WebBrowser控件主动执行我们需要的脚本,执行脚本现在有两种方法. 1.WebBrowser控件加载脚本,简单方便,适用于简短的脚本,无法执行复杂操作. webBrows ...
- sp.net2.0中的新增控件BulletedList的一些高级用法
asp.net2.0新增了一个BulletedList控件,通过它可以以列表形式显示数据,而不必再用Repeater,Datalist等实现相同的效果.今天做程序的时候正好用到了这个控件,就把它的一些 ...
- VC6.0 MFC中WebBrowser控件禁止新窗口弹出的解决办法
http://blog.csdn.net/gnorth/article/details/7258293 分类: WebBrowser MFC 禁止新窗口2012-02-14 15:25 1787人阅读 ...
- 浏览器自动化的一些体会5 webBrowser控件之winform和webBrowser的交互
从winform访问webBrowser,大致就是利用webBrowser提供的解析dom的方法以及用InvokeScript方法执行javascript.这个相对比较简单. 从webBrowser访 ...
- C++(MFC)中WebBrowser去除3D边框的方法(实现IDocHostUIHandler接口)控制 WebBrowser 控件的外观和行为
在 CSDN 上经常看到以下两个问题:1.在 MFC 应用程序中,如果创建了一个 WebBrowser 控件(包括 CHtmlView 在内),如何可以把该控件的三维边框禁止掉?2.在 MFC 应用程 ...
- WPF中禁止WebBrowser控件打开新窗口
一.针对纯WPF的WebBrowser控件: <summary> Suppress Script Errors In WPF WebBrowser </summary> pub ...
- 【WPF】监听WPF的WebBrowser控件弹出新窗口的事件
原文:[WPF]监听WPF的WebBrowser控件弹出新窗口的事件 WPF中自带一个WebBrowser控件,当我们使用它打开一个网页,例如百度,然后点击它其中的链接时,如果这个链接是会弹出一个新窗 ...
- Webbrowser控件判断网页加载完毕的简单方法
一般情况下,当ReadyState属性变成READYSTATE_COMPLETE时,Webbrowser控件会通过触发DocumentCompleted事件来指示网页加载完毕.但当加载的网页包含fra ...
- C# Winform WebBrowser控件
C# WinForm WebBrowser 1.主要用途:使用户可以在窗体中导航网页. 2.注意:WebBrowser 控件会占用大量资源.使用完该控件后一定要调用 Dispose 方法,以便确保及时 ...
随机推荐
- .NET 4 并行(多核)编程系列之三 从Task的取消
原文:.NET 4 并行(多核)编程系列之三 从Task的取消 .NET 4 并行(多核)编程系列之三 从Task的取消 前言:因为Task是.NET 4并行编程最为核心的一个类,也我们在是在并行编程 ...
- Windows 驱动发展基金会(九)内核函数
Windows 驱动发展基金会系列,转载请注明出处:http://blog.csdn.net/ikerpeng/article/details/38849861 这里主要介绍3类Windows的内核函 ...
- Oracle Product Hub / Product Lifecycle Management / Product Information Management / Advanced Produc
In this Document Goal Solution 1. Master List showing sample code for APIs in Product Data Hub ...
- JSON 数据使用
当用不同的数据的模板需要更换时.假设数据点的量.使用json非常方便. json物: var JSONObject= { "name":"Bill Gates" ...
- dojo在错误隐藏表行
1.错误叙述性说明 TypeError:role._by_idx[e.rowIndex].hide is not a function (54 out of range 3) 2. ...
- LAN远程重启server安全方法
原创文章.转载请注明出处.(百度经验:http://jingyan.baidu.com/article/454316abaadc41f7a7c03a13.html) 在局域网中,管理和操作server ...
- TempDB 中表变量和局部临时表的对比
原文:TempDB 中表变量和局部临时表的对比 参考资料来源: http://blogs.msdn.com/b/sqlserverstorageengine/archive/tags/tempdb/ ...
- STL源代码分析 集装箱 stl_set.h
本文senlie原版的,转载请保留此地址:http://blog.csdn.net/zhengsenlie set ------------------------------------------ ...
- SCM白色幼儿系列(十二) Proteus仿真软件简介
Proteus软件是英国Labcenter electronics公司出版的EDA工具软件.经常使用于单片机等数字电路仿真,分为ISIS和ARES两个程序,前者用于仿真,后者用于设计PCB.我们常使用 ...
- boxfilter 实现
A implementation of boxfilter boxfilter 是均值滤波的一种改进.在以下这篇blog里面有介绍. http://www.cnblogs.com/easymind22 ...