国产高清一区二区在线_免费看肥胖女人做爰高清全过情_日韩少妇高潮抽搐_性生生活大片又黄又_粉嫩蜜臀av国产精品网站_搞黄视频免费_亚洲成a人一区二区三区_屁股翘起来趴好挨c_少妇一夜爽免费看_日本护士高潮大叫

在線客服:  

「南寧煙寒網絡」提供南寧網站建設、網站策劃、南寧網頁制作、網站設計、網站改版、南寧SEO優(yōu)化、網站維護、南寧網站優(yōu)化、南寧網站推廣、廣告設計等服務..

咨詢熱線

在線客服

24小時免費咨詢電話:18978941786

客服時間:上午9:30~下午6點

當前位置:首頁>> 技術文章 >> Web開發(fā) >> .NET開發(fā)網站過程中易被忽視的問題

.NET開發(fā)網站過程中易被忽視的問題

收藏 分享 發(fā)布日期:2012-2-12 16:30:44    編輯:admin  文章來源:  點擊率:

在運用Visiol studio.NET 開發(fā)Web 應用程式中,開發(fā)者常常會遇到一些問題:如我開發(fā)好的程式,在開發(fā)環(huán)境下測試沒問題,怎么一搬到應用環(huán)境下,就會有問題? 不是程式的無法運行,就是程式的效率慢的同蝸牛在爬, 這種情況在.NET的新手中尤其常見。我不知道為什么,一些介紹.NET開發(fā)的書本里引用的例子代碼,也對此問題視而不見,尤其讓我郁悶的是一些我喜歡的書,如:<<ADO.NET技術內幕>>,<<ASP.NET2.0高級編程(第4版 )>>,這兩本都是清華大學出版社出版的, 有一本書更糟糕<<Visual Basic.Net 專業(yè)項目實例開發(fā)>>,我建議大家還是不要看了吧,免的浪費時間和精力。
   
    這篇文章不僅對.NET開發(fā)者的新手有幫助,同樣對哪些有經驗,也帶來一些啟示和參考。

    他們會遇到什么樣的問題,我不妨總結給大家:
1. 數據庫連接超時
2. 創(chuàng)建的對象只管用,不管釋放
3. 調試(Debug)模式下編譯后,就用于應用環(huán)境中了
4. 實際作業(yè)模式分享
    上面的問題就像毒瘤,積累到一定程度就爆發(fā),且影響深遠。

    一、數據庫連接超時篇

    若要知道數據庫連接超時問題,先看下面一段代碼:

[Sample-01]:
Public Shared Function getOEMPN(ByVal psPN As String, ByRef OEMPN As String) As BSResult
0001 Dim clsResult As New BSResult
0002 Try
0003 clsResult.ResultID = -1
0004 Dim dtResult As New DataTable
0005 Dim Sql As String = String.Empty
0006 Dim clsOraDb As New clsOraClienDb
0007 Dim strConn As String = ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString
0008 clsOraDb.Open(strConn) ‘這里Open后,后面看不到 clsOraDb.Close
0009 Sql = "SELECT SATBMMBRND.OEMPN FRUNO FROM SATBMMBRND WHERE SATBMMBRND.MATNO = :MATNO"
0010 Dim params() As OracleParameter = {New OracleParameter("MATNO", psPN)}
0011 If clsOraDb.FillDataTable(Sql, dtResult, params) = False Then
0012 Return clsResult
0013 End If
0014 If dtResult Is Nothing Then
0015 Return clsResult
0016 End If
0017 If dtResult.Rows.Count > 0 Then
0018 OEMPN = dtResult.Rows(0)("FRUNO").ToString()
0019 Else
0020 OEMPN = ""
0021 End If
0022 clsResult.ResultID = 1
0023 Return clsResult
0024 Catch ex As Exception
0025 clsResult.ResultID = -1
0026 Return clsResult
0027 End Try
End Function

    對上述代碼行的部分解釋:
    0006:引用數據庫連接的類;
    0008:打開數據庫連接;

    然后,整個函數你再找不到關閉數據庫連接的動作,是要等著操作系統(tǒng)來釋放嗎? 有人就說啦,看起來好像沒有什么大不了的,這僅僅是一個函數而已;數據庫打開連接,未關閉不會影響到整個應用程式;果真是這樣嗎?

   讓我們談談數據庫連接的問題,在Oracle數據庫里,一般默認的數據庫連接數最多也就100多來個,不會超過200個,即使你改變這個連接數,但無論怎樣,它的連接數是有限的,不可能無限地供你消耗。
   
    在Web這個程式里,它不僅不會自動關閉數據庫連接,象這樣的函數還會每次調用,都會重新用掉一個數據庫連接;如果象這樣的函數很多的話,你就等著一個錯誤警告頁面彈出來,如Database Connection Timeout….等訊息。
   
    這還不算什么,更有甚者,盡然在循環(huán)語句里寫下面的代碼如 :

文章分頁: 1 | 2 | 3 |
本文章由南寧網站建設、南寧網站優(yōu)化、南寧網絡公司整理,轉載請注明出處:http://m.absorbed3d.com/

關于我們 | 域名主機 | 建站套餐 | 企業(yè)動態(tài) | 成功案例 | 網站推廣 | 建站知識 | 常見問題 | 聯(lián)系我們

南寧煙寒網絡竭誠為您免費提供南寧網站建設、南寧網站設計、南寧網站優(yōu)化、維護以及網站技術很方面的網絡服務!

南寧網站建設、南寧網絡公司咨詢熱線電話:0771-5306126 18967841786(24小時全天電話)

煙寒網絡 - 讓你進一步走向成功