【ASP.NET 商業級資料庫網站開發實務-與ADO.NET共舞】

天瓏MSDN 好書推薦

本書寫給具備入門基礎的ASP.NET網站開發設計人員,學習如何透過多層式的架構設計,從ADO.NET的開始,建立動態資料庫網站系統。課程內容的主要目標,在於提供一個完整的學習藍圖,讓讀者瞭解如何從無到有,建構一個可以真正上線運作的商業網站雛形。

 
Ch1  網站架構設計
Ch2  Web資料庫應用程式與ADO.NET
Ch3  DataSet與資料繫結
Ch4  中間層架構與類別設計
Ch5  ObjectDataSource與資料集設計師
Ch6  建築UI-實作展現層
CH7  會員管理-驗證與授權
CH8  一個完整的範例
CH9  利用快取技術提昇網站效能
CH10  透過健康監視系統監控網站運作


本書特色
  • ADO.NET類別與離線資料集DataSet剖析
  • ADO.NET與ASP.NET網頁整合應用實例
  • 多層式架構組成探討
  • 資料存取層與強型別資料集設計說明
  • 商務邏輯層類別設計
  • 類別圖表的建立與設計說明
  • ObjectDataSource資料控制項與類別繫結設計
  • 主版頁、HTML元素、CSS與展示層建構設計
  • 資料控制項運用、樣板設計使用時機探討
  • 會員管理機制與驗證授權管理實作討論
  • 會員資料表與現有資料庫整合運用
  • 透過完整範例探討多層架構系統與會員管理機制的整合應用
  • 效能、快取類別與網頁快取設計
  • SqlCacheDependency與SQL Server資料快取技術
  • 事件記錄檔與效能監視器運用

相關閱讀

書摘-ASP.NET 多層式架構 與 兩層式架構 設計

30 則留言:

KKBruce 提到...

在我書店買了一本【ASP.NET 商業級資料庫網站開發實務-與ADO.NET共舞】在瀏覽內容及架構時發現很不錯,但細讀時才發現這本書程式碼是使用C#為主。

在7/18時我共買了兩本書,另一本也是作者你的書「ASP.NET 3.5 For VB」,看起來作者是懂 VB 及 C#。(來不及參加你的免費贈書@.@)

因為小弟不才,只懂VB,所以想請問,是否有計畫提供這本書VB版本。或是可以來個小改版,提供在內容上直接提供VB And C#的程式碼。

另外給個建議,你們的「封面設計」的很漂亮,亮亮的,但又簡單美觀。但由於.NET的東西是可以使用多種程式語言,希望你們書藉封面可以直接加上所使用的語言(vb or c#),這樣「小老百姓」在選書時才不會出現像我這樣的情況!

基於以上理由,很不好意思,我先把你的書拿回去退還。如果有改版或是提供VB程式碼請通知我一聲,謝謝。

祝你書藉大賣。

康廷數位 提到...

Hi,KKBruce 好:

先感謝你閱讀工作出版的.NET書籍。

由於個人的背景,因此C#與VB.NET都有在用,所以稱得上還可以,不過,除非沒有選擇餘地或是某些特別的原因,否則的話,我都會以C#為主。

我的書幾乎都是C#,這本「ASP.NET 3.5 精要剖析」,事實上是我過去出版的書的內容,重新整理成適合入門者的版本,因為內容在我過去的書裏面都有,所以才以VB.NET出版。

未來,等到ASP.NET 4.0的時代,這本「ASP.NET 3.5 精要剖析」會改成C#,而【ASP.NET 商業級資料庫網站開發實務-與ADO.NET共舞】會作更深入的討論,不過,並沒有改成VB.NET版本的計劃,這一點很抱歉。

至於你使用的是VB.NET,那當然就不太適合 「:與ADO.NET共舞」 這本書,不過「ASP.NET 3.5 精要剖析」應該可以給你很好的ASP.NET 的學習起點,我想,目前ASP.NET的入門書,不太容易找到這種純粹以教學為導向的同時兼顧VB.NET與OOP還有.NET Framework的內容了,而這些都是入門ASP.NET非常重要的一環。

封面加註使用的語言,這一點我會改進,下次的書一定都會標上,謝謝你的提醒。:)

祝你學習愉快,Good Luck

呆呆 提到...

TO KKBruce :

您如果沒有像我在 VB 的身上已花了萬把銀兩

的話,我倒是建議你學 C#,以後你就慢慢体

會~呵呵!

提供兩篇老師寫的 關於如何選擇VB和C# 給

您參考看看:

David :

http://studyhost.blogspot.com/2008/07/vbc.html

老章(為什麼這樣叫呢?因為他從我在 Dos 時代就開始寫書了(Foxpro 系列) :

http://blog.xuite.net/alwaysfuturevision/liminzhang/18106618

-------------------

看了 百益無一害 啦~ ^☉^

KKBruce 提到...

謝謝呆呆提供的文章,我看了。
基本上我從486開始就學VB,而且腦子真的不好,曾經學過一年的C,但真的看不懂,所以只能使用VB來求生存^.^"

也謝謝版主的回覆。

康廷數位 提到...

其實.net上,用那個語言都是OK的啦
重要的是不斷的練習與實作
自然就通啦XD

KKBruce 提到...

黑貓白貓,會抓老鼠的就是好貓!

hartball38 提到...

您好:
關於本書的範例,其中CBooks 等2個檔案分別要如何使用!

我使用SSMS 要來還原 ,或是 附加 都弄不進去!

麻煩播空告知!
謝謝!

Jacky 提到...

你好,小弟買了【ASP.NET 商業級資料庫網站開發實務-與ADO.NET共舞】,收獲良多,但有些地方不明白,如\ch03\CHMain\DataUDA.aspx.cs的程式,裡面沒有更新Session("dsSession"),為何Postback後會變呢?煩請指教,謝謝。

康廷數位 提到...

請看一下3-22頁的上方,如果 !IsPostBack, 它會去設定這個Session. :)

Jacky 提到...

我的意思是PostBack後,再更新了DataSet,不用再將DataSet寫回Session("dsSession")的嗎?謝謝。

讀者乙名 提到...

目前手上有 Visual C# 2005 精要剖析,ASP.NET 商業級資料庫網站開發實務-與ADO.NET共舞 這二本,是有看到些小錯字,想問看看有沒有這二本書的勘誤表?

康廷數位 提到...

讀者乙名 你好:目前沒有,關於書中的問題,請儘管貼上來討論,我會給你需要的回覆。

祝 學習愉快 :)

讀者乙名 提到...

Visual C# 2005 精要剖析

P.6-19倒數第2行
esultArray -> resultArray
P.10-22中間
measurTyp -> measurType
P.14-12下面
Substrin() -> Substring()

---

想請問一下有關throw的觀念
P.12-24~P.12-29

try
{
throw new DivideByZeroException();
}
catch { }

try { }
catch
{
throw new DivideByZeroException();
}

try{}
catch (DivideByZeroException e)
{
throw e;
}

若就這些throw的狀況而言
throw和throw new要如何去理解這二種用法?

康廷數位 提到...

hi 讀者乙名:錯誤的地方,謝謝指正

throw的觀念:

C# 於系統偵測到錯誤發生時,會擲出一個例外物件,例是如果你想自己在特定的時機點,擲出例外物件,用 throw 就可以達到這個效果

所謂的「擲出一個例外物件」,它的意思是

throw 例外物件

這個「例外物件」是一個「例外類別的實體物件」,只要是「例外類別的實體物件」,就可以用throw擲出

throw e 是直接將系統擲出的這個DivideByZeroException 類別實物件e,擲出一次

throw new DivideByZeroException()則是new一個新的ivideByZeroException 類別實物件,然後擲出

它們沒有什麼差別,意思相同,關鍵在於你是想要在什麼特定的時機擲出,或是決定由系統幫你擲出,你直接攔截e下來使用即可。

讀者乙名 提到...

抓一下 ASP.NET 商業級資料庫網站開發實務-與ADO.NET共舞 小錯誤
P.1-8
出版社應該是松崗而不是文魁吧ORZ

讀者乙名 提到...

請問一下呂老師

ASP.NET 商業級資料庫網站開發實務-與ADO.NET共舞

P.2-15
如果後端資料庫資料來源從多台Oracle生出來的,即每一條sql指令可能從不同的Oracle DB Server抓的時候,要如何設定多個connection string?

康廷數位 提到...

to 讀者乙名:
松崗與文魁是同一定公司啦。:D
連線字串只要在組態檔裏面設定就可以,再透過變數名稱存取即可。

讀者乙名 提到...

請問呂老師

若原來的架構是這樣:

JavaScript > 打開[Loading視窗]hold住使用者UI > CGI > COM+ > CGI > 關閉[Loading視窗] > 把result string倒回JavaScript

現在想改用WCF方式取代掉CGI, COM+,WCF的部份已測試過使用proxy方式在.NET client可以呼叫的到

問題來了,JavaScript部份原本是靠CGI丟過來的result string,改用WCF的話JavaScript要怎麼接的到SOAP的結果?

問題二、原本前端的HTML + JavaScript方式若想改用ASP.NET改寫,按照書上的架構概念,若我是把BusinessRule寫在WCF,且在WCF就去後端取資料並回傳自訂格式的string,這樣看起來只能實作出三層的架構(Client<->WCF<->DB),這樣和書上的四層式架構概念長的又不像,若把WCF硬又拆成二層(BusinessRule, Daya Access Layer),又怕會有效率上的疑慮,請問呂老師有沒有比較好的建議?

康廷數位 提到...

WCF 我也還不夠熟,這一部份還沒有辦法很明確的告訴你怎麼作,不好意思。

不過,因為我現在try的Silverlight 3新書,是Silverlight+WCF+ASP.NET+DB的應用,過一陣子會有比較完整的心得文章出來,屆時再來討論囉。

nowshow 提到...

老師你好
我有購買你的 【ASP.NET 商業級資料庫網站開發實務-與ADO.NET共舞】一書
其中我照範例做,在BL的部分製做一個ArrayList,然後會傳給ObjectDataSource書上的範例是直接使用GridView等顯示,但如果我想用程式取得回傳的ArrayList內的資料,該如何下語法呢?
因為回傳的應該是物件,如果我下al[0],其實是一個物件,而且是bl裡面巢狀class的東西,是 private屬性。
理論上來講,我也可以將bl裡面的巢狀class設為public,這樣可以透過這個class來取得資料。
但照理說傳回的ArrayList已經包含了這些資料,難道我如果用程式一定要透過巢狀class去存取嗎?
而GridView又是怎麼能夠在巢狀class為private屬性的設定下,顯示所有資料。
還需要您協助解惑這些觀念,謝謝

康廷數位文教網 提到...

hi,nowshow 您好:

資料表本身是一種二維的結構,這種作法是將二維結構的東西轉換成為類別與屬性,再透過ArrayList來儲存,這樣在客戶端不需要ADO.NET之類的技術,就能直接存取資料了。

ArrayList是一種集合,只能透過迴圈,另外一種好的標準作法,就是用LINQ,這也是現在MS建議的標準技術。

class弄成pulbic當然是可以的,程式設計本身是很彈性的東西,怎麼作都可以,但這不是我們想要的,因為如此一來就不是透過集合統一進行存取,你可能某些地方直接存取類別,某些地方又透過集合進行存取,當你的程式規模變大之後,整個程式架構就會開始亂了,這是開發大型程式最害怕的了。

將類別物件封裝在集合裏面,再藉由LINQ技術進行存取,可以實作出非常完美的前端資料操作功能。

P.S. 這本書開發的時候,Linq 還很新,並未納入這一部份的作法,事實上你應該考慮好好的學習LINQ,會有更好的效果。

Good Luck

nowshow 提到...

請問老師,
那GridView是怎麼辦到的呢?
它應該也無法存取private巢狀class才是?
這一環我比較不能了解。
另外是如果要使用Linq ,語法該如何下呢?

康廷數位文教網 提到...

Class本身只是定義為private,但是它在public方法裏,被建立成物件取出之後就是一個獨立的物件資料啦,這任何東西都能存取呀…

GridView只是將其當作資料來源存取而已啊就跟你透過迴圈直接取得ArrayList道理是一樣的…

至於LINQ,這是一個很大的主題哦,你得從類別與泛型下去作功課,將其完整搞懂,這講下去,就不是單純的語法這麼簡單啦…

如果你不想瞭解LINQ,可以針對語法需求問一下GOOGLE,會有成堆的語法讓你挑了,不過這樣的話,對你的學習並沒有幫助就是了,你也不可能將這個技術順利的用在專案開發上。

Good Luck

yifang 提到...

請問這個「ASP.NET 商業級資料庫網站開發實務-進階ASP.NET專業開發人員養成」鼓勵學習贈書活動結束了嗎

康廷數位文教網 提到...

hi,yifang:已經結束了,真不好意思,下次有機會再請早,謝謝你 :D

yifang 提到...

恩恩...沒關係...下次我會早一點^^

finger 提到...

你好 . 我光碟遺失不知道該去哪邊下載才行

康廷數位文教網 提到...

hi,請直接聯繫松崗客服,謝謝。

匿名 提到...

您好,請問這本書還有再改版的機會嗎?

康廷數位文教網 提到...

Hi, 您好:

由於ASP.NET技術目前已經大幅度進化,除了資料存取技術有 LINQ/EF ,另外亦分裂出完全不相容的 MVC 開發模式,【ASP.NET 商業級資料庫網站開發實務-與ADO.NET共舞】這本書的內容已經完全不合時宜過時了,因此不會有改版的機會了,真的不好意思。