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

詳解ASP.NET開發(fā)

開發(fā) 后端
本文介紹ASP.NET開發(fā)進行一下深入的總結(jié),也希望給讀者帶來一些個啟示,包括介紹項目開發(fā)中遇到的實際問題。

開發(fā)完一個項目后,如果能夠很好的對這個項目做個總結(jié),對我們以后的項目開發(fā)以及個人技術(shù)的積累都會有很大的幫助。最近在外派公司做完一個系統(tǒng),在此進行一下深入的總結(jié),也希望給讀者帶來一些個啟示。

一.系統(tǒng)介紹

本系統(tǒng)是某一跨國公司北京Site的班車預(yù)訂系統(tǒng)(班車超多,往返于北京和天津之間)??蛻簦ü締T工)能夠在本系統(tǒng)中已經(jīng)發(fā)布的班車路線里預(yù)訂座位;如果沒有相應(yīng)的班車(座位已滿),可以提交申請,讓Travel Clerk新建立班車路線;能夠?qū)ο到y(tǒng)運行進行各種的統(tǒng)計生成報表,比如班車運行效率,司機出車情況等等。

二.應(yīng)用的開發(fā)技術(shù)和工具

ASP.NET 2.0, ASP.NET Ajax, SqlServer 2000, C#, NHibernate, Crystal Report

使用的是常用的技術(shù),我認為開發(fā)一個系統(tǒng)不一定要用***的技術(shù),這要看項目開發(fā)的需求,以及參與開發(fā)人員掌握的情況。如果項目緊的話,就需要采用成熟(傳統(tǒng)ASP.NET技術(shù))的技術(shù)進行有效的開發(fā)。系統(tǒng)的業(yè)務(wù)層和數(shù)據(jù)訪問層在此系統(tǒng)實際上歸為了一個層里,都由Nhibernate實現(xiàn)。Nhibernate是一個.Net實現(xiàn)的面向?qū)ο蟮目蚣?,即ORM. 我覺得和Linq很類似。

三.項目開發(fā)中遇到的實際問題

令我印象最深刻的就是,在開發(fā)中系統(tǒng)需求一直在變化,因此一聽到要改東西,心里就窩火。

要知道需求頻繁的變更,對于開發(fā)來說打擊很大,殊不知不斷的改代碼,系統(tǒng)會變得脆弱些,當(dāng)然這樣應(yīng)當(dāng)加大測試的力度。

在開發(fā)之前的設(shè)計中也有一個失誤,沒有把業(yè)務(wù)考慮全,造成在開發(fā)中要費很大的力量進行彌補(在此提一下設(shè)計的失誤之處,一般情況下班車是不跨天運營的,在開發(fā)中期,客戶竟然提出班車有可能跨天,比如晚上11點出發(fā),后半夜12點半去機場接人),超郁悶。

在技術(shù)上基本上沒有什么障礙,在組員的互相交流中很快搞定。

四.開發(fā)中值得一提的幾個技術(shù)點

1. 模板頁的應(yīng)用

當(dāng)然了既然用ASP.NET開發(fā),基本上會用到模板頁的,但是使用的深度不同。比如說Master Page和Content Page之間(雙向的)的相互訪問。一般情況下是Content Page訪問Master Page,然而反過來呢?在次提出一個建議,當(dāng)Master Page訪問Content Page時應(yīng)當(dāng)是松散耦合的, 可以在Master Page中生成事件讓Content Page來訂閱。

還有一點值得一提,因為Master Page是一個Naming Container,所以在它之下的控件的ID之前是要墜上Master Page的ID的,此外Content Place Holder和GridViewRow等等都是Naming Container,因此在應(yīng)用FindControl時要注意,此函數(shù)是不能穿透Naming Container來尋找指定Control的。

2. 跨頁提交

跨頁提交是ASP.NET 2.0的一個新特性,當(dāng)提交頁面要向另外一個頁面?zhèn)鬟f大量數(shù)據(jù)時,可以考慮用跨頁提交技術(shù)。因為其他技術(shù)都不怎么合適,比如Session,QueryString(地址欄參數(shù)***限制為2K)等等。

3. 動態(tài)生成控件以及響應(yīng)事件

在頁面中有時需要動態(tài)生成很多的控件,這些還要相應(yīng)事件。在這種情況下要注意,如果不做好處理,當(dāng)頁面進行回發(fā)時,動態(tài)控件會丟失。我們需要在每次在頁面的Init事件里生成這些動態(tài)控件。

4. Javascript和Css

開發(fā)這個系統(tǒng)沒有用到什么流行的技術(shù),但是Javascript和Css要求很高。因此在這兩方面有所提高。在次提一下,做ASP.NET開發(fā)的人員有相當(dāng)一部分人員是由桌面開發(fā)轉(zhuǎn)來的,因此大家的Javascript和Css功底一般不深,老是認為這些是美工他們的工作,心理存在某些個抵制,看不起Javascript。這是一個認識上的問題,做Web開發(fā),不管.NET有多精深,ASP.NET最終要做的還是要把html標(biāo)記推送到客戶的瀏覽器里。如果不懂html, javascript, css,我可以說ASP.NET開發(fā)是永遠做不到精益求精的。啟示做Web開發(fā)要求掌握很多的東西, http協(xié)議,IIS,web技術(shù),服務(wù)器部署等等。還是那句話,學(xué)海無涯,技術(shù)無止境!

5. Nhibernate

開發(fā)這個系統(tǒng)對Nhibernate有了一定的認識,ORM框架用起來確實很方便,我們用對象去考慮問題,不必再寫那些個繁瑣的Sql語句,當(dāng)然些hql還是要懂得sql才行。Linq的目的也在此。但是對于復(fù)雜的統(tǒng)計功能,我覺得Nhibernate就不合適了,因此這個系統(tǒng)在這方面還是用的Sql。

6. 高效率使用Google查詢

這個項目確實很緊,做Web開發(fā)離開互聯(lián)網(wǎng),離開Google不可想象。也許也應(yīng)了這句話,Web開發(fā)來源于互聯(lián)網(wǎng),回報于互聯(lián)網(wǎng)。如果能高效的借助Google快速找到自己要解決問題的方案,會加快項目的開發(fā)。請在這里閱讀本人的Google搜索心得。以上介紹ASP.NET開發(fā)

【編輯推薦】

  1. 淺析ASP.NET的PageBase和MasterPage
  2. ASP.NET的XML Web服務(wù)方法
  3. 詳解部署ASP.NET環(huán)境
  4. 實現(xiàn)ASP.NET全球化
  5. 解決ASP.NET AJAX腳本的錯誤問題
責(zé)任編輯:佚名 來源: IT168
相關(guān)推薦

2009-08-04 10:43:59

ASP.NET控件開發(fā)

2009-07-29 16:08:07

ASP和ASP.NET

2009-07-28 16:57:50

ASP.NET Ses

2009-08-05 11:14:33

ASP.NET ISA

2009-07-22 16:25:41

ASP.NET AJA

2009-07-23 13:19:51

2009-04-20 13:34:27

ASP.NET視頻教程Web開發(fā)

2009-08-07 14:42:02

ASP.NET控件開發(fā)

2009-07-23 13:09:23

2009-07-28 13:39:44

加載ViewStateASP.NET

2009-08-19 13:44:00

ASP.NET Lis

2009-08-04 18:10:35

ASP.NET動態(tài)編譯

2011-04-19 10:33:16

ASP.NET自定義控

2009-07-28 14:16:31

ASP.NET與MyS

2009-08-05 10:36:08

開發(fā)ASP.NET

2009-08-05 17:39:13

ASP.NET常用狀態(tài)

2009-08-04 16:09:38

ASP.NET入門

2011-11-22 09:32:39

ASP.NET

2009-03-31 09:18:34

客戶端內(nèi)置對象ASP.NET

2009-07-21 15:38:31

點贊
收藏

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