惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

aimingoo的专栏
aimingoo的专栏
Google DeepMind News
Google DeepMind News
S
SegmentFault 最新的问题
Project Zero
Project Zero
D
DataBreaches.Net
I
InfoQ
L
Lohrmann on Cybersecurity
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
酷 壳 – CoolShell
酷 壳 – CoolShell
Stack Overflow Blog
Stack Overflow Blog
The Register - Security
The Register - Security
Recorded Future
Recorded Future
Vercel News
Vercel News
博客园 - 司徒正美
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
I
Intezer
The Hacker News
The Hacker News
F
Fortinet All Blogs
Microsoft Azure Blog
Microsoft Azure Blog
P
Proofpoint News Feed
Help Net Security
Help Net Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Scott Helme
Scott Helme
T
Threatpost
爱范儿
爱范儿
N
Netflix TechBlog - Medium
D
Docker
云风的 BLOG
云风的 BLOG
C
Cisco Blogs
K
Kaspersky official blog
H
Help Net Security
S
Secure Thoughts
T
Threat Research - Cisco Blogs
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
S
Security @ Cisco Blogs
Cyberwarzone
Cyberwarzone
N
News and Events Feed by Topic
G
Google Developers Blog
Forbes - Security
Forbes - Security
博客园 - 三生石上(FineUI控件)
博客园 - 叶小钗
B
Blog
Google DeepMind News
Google DeepMind News
Recent Announcements
Recent Announcements
Simon Willison's Weblog
Simon Willison's Weblog
S
Securelist
P
Privacy International News Feed
Spread Privacy
Spread Privacy
The Last Watchdog
The Last Watchdog

博客园 - 刚子

sql2005中Create 对于 数据库“xxx”失败解决方案 一个简单的C#多线程间同步(事件方法)的例子 俞老师在同济大学的演讲词:度过有意义的生命 [转]谈基于.net平台windows开发中的模式窗体 利用反射原理,灵活配置类名和方法名 [转]在C#隐藏启动窗口的几种方法 System.Windows.Forms.Timer和System.Timers.Timer的区别 [转] 在VS.NET 2005中体验clickonce技术 (智能客户端) C#操作EXCEL文件 如何创建、安装和调试Windows服务 最小化到系统托盘并恢复 C#操作XML的完整例子——XmlDocument篇 C#多线程应用探讨(转载) C# 泛型介绍 vs2005新建网站对话框中三种位置选项(文件系统、http、ftp)的区别? 工厂模式代码的使用解释 创建 类PetShop4.0 架构的项目 .net面试题 C#面试常见问题
什么是Smart Client
刚子 · 2008-12-04 · via 博客园 - 刚子

Posted on 2008-12-04 17:31  刚子  阅读(960)  评论()    收藏  举报

 

什么是Smart Client?
    Smart Client 即 “智能客户端”.从技术上说Smart Client并不是一种新的技术,而是将许多概念,设计方法和技术进行了融合,吸取了传统B/S(瘦客户端)的易于版本控制和更新以及C/S(胖客户端)用户界面强大,使用客户机资源的特点. 在服务器端可以用WebService,在客户端可以用WinForm.

    Smart Client的优点
    易于升级
    这和B/S构架比较类似,只要在服务器上更新软件,再进行简单的配置,客户端就可以自动进行软件的更新.比如在服务器上建立一个站点,客户端通过HTTP方式进行更新.

    用户界面强大
    可以把Client理解成与网络交互数据的WinForm程序,因此几乎可以使用WinForm上的各种控件和资源,突破B/S浏览器表现能力的限制,如通过WEB实现某些功能可能必须通过ActiveX或Applet.

    易于整合客户端本地资源
    可以充分使用客户端的计算能力,很方便的整合的客户端的软件和硬件资源.

    允许离线工作
    不用像B/S一样,要与网络实时的连接,数据交换要反复的刷新页面. Smart Client允许用户将数据下载后进行离线的数据更改,当用户重新Online,程序自动向服务器提交新数据进行更新.

    开发Smart Client所需要解决的问题

    自动升级
    可以用VS.NET 2005 Beta2 中提供的ClickOnce技术,非常Easy!这个功能应该是CLR 和 .NET Framework 中的新功能.(ClickOnce的说明
http://www.microsoft.com/china/msdn/archives/library/dnwinforms/html/ClickOnce.asp#clickonce_topic2).对这个技术还有一些不是很清楚的地方,主要是界面的定制,比如说一开始”正在启动就用程序”的窗体和发现新版本时提示升级的 窗体.

    离线工作时的数据处理
    这里主要解决在线时如何将数据保存在客户端.对于少量数据可以用XML保存,大量的数据可以用Access, MSDE.这样用户离线时就可以对数据进行读取和更改,待再次上线时程序判断哪些数据已经更改,然后将更改后的数据向服务器提交.

    数据冲突
    这个问题个人认为在一般的B/S系统中也存在,不过好像概率比较低,很多时候我们都不进行处理. 在Smart Client里离线的用户再次上线时将用户离线后更改的数据向服务器提交,这时非常有可能会出现数据冲突问题,因为用户可能离线非常长的时间. 所以有可能要进行数据冲突的处理.

     数据安全