自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

異曲同工 WinForm和ASP.NET如何選?

開(kāi)發(fā) 后端
作為將來(lái)要在.NET平臺(tái)上做開(kāi)發(fā)的工作者來(lái)說(shuō),無(wú)論如何都要同時(shí)掌握WinForm編程和ASP.NET編程,本文將討論在做項(xiàng)目時(shí),怎樣選擇這兩種技術(shù)之一來(lái)是實(shí)現(xiàn)我們的軟件,交付我們的成果。

在.NET平臺(tái)開(kāi)發(fā)中,我們經(jīng)常使用WinForm進(jìn)行C/S架構(gòu)的開(kāi)發(fā),也用過(guò)ASP.NET作為B/S架構(gòu)開(kāi)發(fā)。那么有些人可能糊涂了,不知道在這兩者之間如何做選擇了。其實(shí)作為將來(lái)要在.NET平臺(tái)上做開(kāi)發(fā)的工作者來(lái)說(shuō),無(wú)論如何都要同時(shí)掌握WinForm編程和ASP.NET編程。

51CTO推薦閱讀:ASP.NET視頻教程

當(dāng)我們開(kāi)始開(kāi)發(fā)帶有用戶界面的應(yīng)用程序時(shí),可以使用WinForm或ASP.NET。兩者在開(kāi)發(fā)環(huán)境(Visual Studio系列)中都具有完全的設(shè)計(jì)時(shí)支持,并且可以提供豐富的用戶界面和高級(jí)應(yīng)用程序功能解決現(xiàn)實(shí)業(yè)務(wù)問(wèn)題。由于這種“相似”,要決定采用哪種技術(shù)來(lái)實(shí)現(xiàn)軟件可能有些困難。

關(guān)注軟件的最終用途可以使選擇變得相對(duì)容易。如果我們要開(kāi)發(fā)的是一個(gè)公眾可以通過(guò)Internet訪問(wèn)的電子商務(wù)網(wǎng)站,肯定采用ASP.NET來(lái)開(kāi)發(fā)軟件項(xiàng)目。如果我們要充分發(fā)揮客戶端電腦的計(jì)算能力,并且客戶端的處理工作量很大,需要快速響應(yīng)用戶請(qǐng)求,無(wú)疑應(yīng)該使用WinForm。但是在其他情況下,選擇也真的不是很明晰。

何時(shí)選擇WinForm

如果客戶端應(yīng)用程序負(fù)責(zé)應(yīng)用程序中的大部分處理任務(wù),應(yīng)該使用WinForm開(kāi)發(fā)應(yīng)用程序。這些客戶端應(yīng)用程序包括傳統(tǒng)上在早期版本的VB和VC中開(kāi)發(fā)的Win32桌面應(yīng)用程序。繪圖或圖形應(yīng)用程序、數(shù)據(jù)輸入系統(tǒng)、POS系統(tǒng)和游戲都屬于這類應(yīng)用程序。

這些應(yīng)用程序都依靠桌面計(jì)算機(jī)的處理能力和高性能數(shù)據(jù)顯示。有些應(yīng)用程序可能完全獨(dú)立,它們?cè)谟脩舻挠?jì)算機(jī)上執(zhí)行所有的應(yīng)用程序處理。通常以這種方式來(lái)編寫游戲。其他應(yīng)用程序可能是大型系統(tǒng)的一部分,它們主要使用桌面計(jì)算機(jī)來(lái)處理用戶輸入。例如,POS系統(tǒng)常要求在桌面計(jì)算機(jī)上創(chuàng)建具有響應(yīng)能力的復(fù)雜用戶界面,同時(shí)將該界面鏈接到其他執(zhí)行后端處理的組件。

使用WinForm的應(yīng)用程序是在Windows框架中生成的,因此它可以訪問(wèn)客戶端計(jì)算機(jī)上的系統(tǒng)資源,包括本地文件、系統(tǒng)注冊(cè)表、打印機(jī)等??上拗圃撛L問(wèn)級(jí)別,以消除由不希望的訪問(wèn)引起的任何安全性風(fēng)險(xiǎn)或潛在問(wèn)題。另外,WinForm可以利用.NET Framework GDI+圖形類創(chuàng)建豐富界面,而這常常是數(shù)據(jù)挖掘或游戲應(yīng)用程序所必需的。

何時(shí)選擇ASP.NET

使用ASP.NET創(chuàng)建主要由瀏覽器用戶界面組成的應(yīng)用程序。這自然包括希望讓公眾可通過(guò)萬(wàn)維網(wǎng)使用的應(yīng)用程序,比如電子商務(wù)應(yīng)用程序。但是ASP.NET并不僅僅用于創(chuàng)建網(wǎng)站,許多其他應(yīng)用程序同樣適用于“瘦客戶端”,如基于Internet的雇員手冊(cè)或津貼應(yīng)用程序。任何ASP.NET應(yīng)用程序都有一個(gè)重要的優(yōu)點(diǎn),就是沒(méi)有客戶端安裝和維護(hù)的成本。用戶已經(jīng)安裝了所需的唯一一個(gè)應(yīng)用程序——瀏覽器。

ASP.NET應(yīng)用程序與平臺(tái)無(wú)關(guān),即它們是“延伸”的應(yīng)用程序。不論用戶的瀏覽器類型是什么,也不論使用的計(jì)算機(jī)類型是什么,他們都可以與應(yīng)用程序進(jìn)行交互。同時(shí),可優(yōu)化ASP.NET應(yīng)用程序,以利用***瀏覽器中的內(nèi)置功能來(lái)增強(qiáng)性能和響應(yīng)能力。在許多情況下,此優(yōu)化內(nèi)置于使用的Web窗體組件。這些組件可以自動(dòng)檢測(cè)瀏覽器級(jí)別,并相應(yīng)檢測(cè)呈現(xiàn)頁(yè)。

ASP.NET應(yīng)用程序提供了一些即使在非Web環(huán)境中依然有用的功能。因?yàn)檫@些功能依賴于HTML,ASP.NET應(yīng)用程序適合任何種類的文本密集型應(yīng)用程序,尤其適合那些文本格式設(shè)置對(duì)其很重要的應(yīng)用程序。基于瀏覽器的應(yīng)用程序?qū)τ脩舻南到y(tǒng)資源的訪問(wèn)權(quán)限有限,在希望防止用戶訪問(wèn)某些應(yīng)用程序的情況下,這種限制使ASP.NET應(yīng)用程序很有價(jià)值。

WinForm與ASP.NET的比較

功能/標(biāo)準(zhǔn) WinForm ASP.NET
安裝部署 WinForm允許使用ClickOnce進(jìn)行“非接觸”部署,即可以直接在用戶的計(jì)算機(jī)上下載、安裝和運(yùn)行應(yīng)用程序,而不必改變注冊(cè)表。 ASP.NET沒(méi)有客戶端部署;客戶端只需要一個(gè)瀏覽器。服務(wù)器必須運(yùn)行Microsoft .NET Framework。對(duì)應(yīng)用程序的更新通過(guò)在服務(wù)器上更新代碼來(lái)完成。
圖形 WinForm包括 GDI+,它使得游戲和其他有非常豐富的圖形的環(huán)境可以有復(fù)雜的圖形。 在ASP.NET時(shí),交互式圖形或動(dòng)態(tài)圖形需要來(lái)回訪問(wèn)服務(wù)器以進(jìn)行更新??梢栽诜?wù)器上使用GDI+來(lái)創(chuàng)建自定義圖形。
響應(yīng) WinForm可以完全在客戶端計(jì)算機(jī)上運(yùn)行;它們能夠?yàn)樾枰叨冉换サ膽?yīng)用程序提供最快的響應(yīng)速度。 如果用戶用較新的瀏覽器(IE5.0以上),ASP.NET應(yīng)用程序可以利用瀏覽器的動(dòng)態(tài)HTML(DHTML)功能來(lái)創(chuàng)建豐富的、具有響應(yīng)能力的用戶界面(UI)。如果用戶有其他瀏覽器,大多數(shù)處理(包括與用戶界面相關(guān)的任務(wù),比如驗(yàn)證)需要往返于Web服務(wù)器,而這會(huì)影響響應(yīng),當(dāng)然我們可以采用AJAX技術(shù)來(lái)改善應(yīng)用體驗(yàn)。
窗體和文本流控制 WinForm網(wǎng)格定位可以對(duì)控件的位置提供精確的二維(x和y坐標(biāo))控制。若要在Windows窗體上顯示文本,一般將文本插入到控件(例如 Label控件、TextBox控件或RichTextBox控件)中。格式化將受到限制。 ASP.NET界面基于HTML樣式流布局,因此支持網(wǎng)頁(yè)面布局的所有功能。它在文本格式設(shè)置方面的功能尤其強(qiáng)大??梢猿浞值毓芾砜丶季郑ㄓ心承┫拗疲绮荒苤丿B控件)。如果用戶有支持DHTML的瀏覽器,可以用二維(x和y坐標(biāo))布局來(lái)指定更精確的布局。
對(duì)于.NET Framework的依賴 WinForm需要在客戶端計(jì)算機(jī)上運(yùn)行.NET Framework。 ASP.NET客戶端只需要一個(gè)瀏覽器。支持DHTML的瀏覽器可以利用額外的功能,而Web窗體可以被設(shè)計(jì)為適用于所有的瀏覽器。ASP.NET系統(tǒng)只需要在服務(wù)器運(yùn)行.NET Framework。
訪問(wèn)本地資源(文件系統(tǒng)、系統(tǒng)注冊(cè)表等) 如果允許,應(yīng)用程序?qū)Ρ镜赜?jì)算機(jī)資源可擁有完全訪問(wèn)權(quán)。如果需要,可以精確地限制應(yīng)用程序,使其不能使用特定的資源。 瀏覽器安全性防止應(yīng)用程序訪問(wèn)本地計(jì)算機(jī)上的資源。
編程模型 WinForm基于客戶端Win32消息轉(zhuǎn)儲(chǔ)模式,開(kāi)發(fā)人員在此模式中創(chuàng)建、使用和銷毀組件的實(shí)例。 ASP.NET依賴于在很大程度上異步的斷開(kāi)連接模型,在此模型中,組件松散地耦合到應(yīng)用程序前端。通常,應(yīng)用程序組件通過(guò)HTTP協(xié)議調(diào)用。此模型可能不適合要求用戶端有極大吞吐量的應(yīng)用程序或具有大量事務(wù)處理的應(yīng)用程序。同樣,ASP.NET應(yīng)用程序可能不適合需要高級(jí)別并發(fā)控制的數(shù)據(jù)庫(kù)應(yīng)用程序。
安全性 WinForm在其代碼訪問(wèn)安全性實(shí)現(xiàn)中使用權(quán)限,以保護(hù)計(jì)算機(jī)資源和敏感信息。這使功能得以被小心公開(kāi),同時(shí)保留安全性。例如打印權(quán)限,在某一級(jí)別上只允許在默認(rèn)打印機(jī)上打印,在另一級(jí)別上則允許在任何一臺(tái)打印機(jī)上打印。使用ClickOnce部署技術(shù),開(kāi)發(fā)人員可以輕松地配置應(yīng)用程序應(yīng)該和不應(yīng)該向客戶端要求什么權(quán)限。 通常,通過(guò)驗(yàn)證請(qǐng)求者的憑據(jù)(例如,名稱/密碼對(duì)),按URL控制獲得訪問(wèn)ASP.NET應(yīng)用程序資源的授權(quán)。ASP.NET允許開(kāi)發(fā)人員控制執(zhí)行服務(wù)器應(yīng)用程序代碼所使用的標(biāo)識(shí)。應(yīng)用程序可以用請(qǐng)求實(shí)體的標(biāo)識(shí)來(lái)執(zhí)行代碼。應(yīng)用程序也可以根據(jù)請(qǐng)求者的標(biāo)識(shí)或角色來(lái)動(dòng)態(tài)調(diào)整內(nèi)容。例如,經(jīng)理可以訪問(wèn)某一站點(diǎn)或更高級(jí)別的內(nèi)容,而擁有較低權(quán)限的人則不能這樣做。

原文作者:呂中華

原文地址:http://blog.whhpaccp.com/post-39.html

【編輯推薦】

  1. 淺談ASP.NET 4.0 SEO增強(qiáng)中的UrlRouting
  2. WPF與WinForm對(duì)比談 多線程編程優(yōu)化是關(guān)鍵
  3. 詳解Winform多線程編程基本原理
  4. 實(shí)戰(zhàn)ASP.NET大規(guī)模網(wǎng)站架構(gòu):Web加速器
  5. 專家暢談ASP.NET與PHP的未來(lái)

 

責(zé)任編輯:王曉東 來(lái)源: 北大青鳥(niǎo)魯廣校區(qū)博客
相關(guān)推薦

2009-07-27 12:22:03

ASP.NET和ASPASP.NET入門教程

2009-07-29 16:08:07

ASP和ASP.NET

2009-07-27 14:46:16

XML和ASP.NET

2009-07-22 17:45:35

ASP.NET教程

2009-07-22 18:03:00

ASP.NET ASP

2009-07-31 09:39:59

ASP.NET和URL

2009-08-03 14:22:33

什么是ASP.NET

2009-07-28 17:17:19

ASP.NET概述

2009-07-21 15:47:19

2009-07-24 10:41:00

asp.net mvc

2011-10-27 09:42:19

ASP.NET

2011-10-14 10:37:54

ASP.NET

2009-08-04 17:20:37

PostBack和ViASP.NET

2009-08-10 13:32:15

ASP.NET TimASP.NET組件設(shè)計(jì)

2009-07-29 17:11:25

ASP.NET ISA

2011-05-19 09:20:21

VB.NETASP.NET

2009-08-03 14:33:02

.NET平臺(tái)c#ASP.NET

2009-08-03 13:38:18

ASP.NET編程模型

2009-08-04 13:38:36

ASP.NET用戶控件

2009-07-24 16:15:00

擴(kuò)展ASP.NET G
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)