偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

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

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

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

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

何時選擇WinForm

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

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

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

何時選擇ASP.NET

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

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

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

WinForm與ASP.NET的比較

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

原文作者:呂中華

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

【編輯推薦】

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

 

責任編輯:王曉東 來源: 北大青鳥魯廣校區(qū)博客
相關推薦

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

2011-10-14 10:37:54

ASP.NET

2009-07-24 10:41:00

asp.net mvc

2009-08-04 17:20:37

PostBack和ViASP.NET

2011-10-27 09:42:19

ASP.NET

2009-08-04 13:38:36

ASP.NET用戶控件

2009-07-24 16:15:00

擴展ASP.NET G

2009-07-29 17:11:25

ASP.NET ISA

2009-08-10 13:32:15

ASP.NET TimASP.NET組件設計

2009-08-03 13:38:18

ASP.NET編程模型

2009-08-03 14:33:02

.NET平臺c#ASP.NET

2011-05-19 09:20:21

VB.NETASP.NET
點贊
收藏

51CTO技術棧公眾號