|
在運(yùn)用Visiol studio.NET 開發(fā)Web應(yīng)用程式中,開發(fā)者常常會(huì)遇到一些問題:如我開發(fā)好的程式,在開發(fā)環(huán)境下測(cè)試沒問題,怎么一搬到應(yīng)用環(huán)境下,就會(huì)有問題?不是程式的無法運(yùn)行,就是程式的效率慢的同蝸牛在爬,這種情況在.NET的新手中尤其常見。我不知道為什么,一些介紹.NET開發(fā)的書本里引用的例子代碼,也對(duì)此問題視而不見,尤其讓我郁悶的是一些我喜歡的書,如:<<ADO.NET技術(shù)內(nèi)幕>>,<<ASP.NET2.0高級(jí)編程(第4版)>>,這兩本都是清華大學(xué)出版社出版的, 有一本書更糟糕<<Visual Basic.NET專業(yè)項(xiàng)目實(shí)例開發(fā)>>,我建議大家還是不要看了吧,免的浪費(fèi)時(shí)間和精力。
這篇文章不僅對(duì).NET開發(fā)者的新手有幫助,同樣對(duì)哪些有經(jīng)驗(yàn),也帶來一些啟示和參考。
他們會(huì)遇到什么樣的問題,我不妨總結(jié)給大家:
1. 數(shù)據(jù)庫(kù)連接超時(shí)
2. 創(chuàng)建的對(duì)象只管用,不管釋放
3. 調(diào)試(Debug)模式下編譯后,就用于應(yīng)用環(huán)境中了
4. 實(shí)際作業(yè)模式分享
上面的問題就像毒瘤,積累到一定程度就爆發(fā),且影響深遠(yuǎn)。
一、數(shù)據(jù)庫(kù)連接超時(shí)篇
若要知道數(shù)據(jù)庫(kù)連接超時(shí)問題,先看下面一段代碼:
[Sample-01]:
Public Shared Function getOEMPN(ByVal psPN As String, ByRef OEMPN As String) As BSResult
Dim clsResult As New BSResult
Try
clsResult.ResultID = -1
Dim dtResult As New DataTable
Dim Sql As String = String.Empty
Dim clsOraDb As New clsOraClienDb
Dim strConn As String = ConfigurationManager.ConnectionStrings("
ConnectionString").ConnectionString
clsOraDb.Open(strConn) ‘這里Open后,后面看不到 clsOraDb.Close
Sql = "SELECT SATBMMBRND.OEMPN FRUNO FROM SATBMMBRND WHERE SATBMMBRND.MATNO = :MATNO"
Dim params() As OracleParameter = {New OracleParameter("MATNO", psPN)}
If clsOraDb.FillDataTable(Sql, dtResult, params) = False Then
Return clsResult
End If
If dtResult Is Nothing Then
Return clsResult
End If
If dtResult.Rows.Count > 0 Then
OEMPN = dtResult.Rows(0)("FRUNO").ToString()
Else
OEMPN = ""
End If
clsResult.ResultID = 1
Return clsResult
Catch ex As Exception
clsResult.ResultID = -1
Return clsResult
End Try
End Function
NET技術(shù):.NET開發(fā)者常會(huì)忽略的幾個(gè)錯(cuò)誤,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。