.NET开发者常会忽略的几个错误

  在运用Visiol studio.NET 开发Web应用程式中,开发者常常会遇到一些问题:如我开发好的程式,在开发环境下测试没问题,怎么一搬到应用环境下,就会有问题?不是程式的无法运行,就是程式的效率慢的同蜗牛在爬,这种情况在.NET的新手中尤其常见。我不知道为什么,一些介绍.NET开发的书本里引用的例子代码,也对此问题视而不见,尤其让我郁闷的是一些我喜欢的书,如:<<ADO.NET技术内幕>>,<<ASP.NET2.0高级编程(第4版)>>,这两本都是清华大学出版社出版的, 有一本书更糟糕<<Visual Basic.NET专业项目实例开发>>,我建议大家还是不要看了吧,免的浪费时间和精力。

  这篇文章不仅对.NET开发者的新手有帮助,同样对哪些有经验,也带来一些启示和参考。

  他们会遇到什么样的问题,我不妨总结给大家:
  1. 数据库连接超时
  2. 创建的对象只管用,不管释放
  3. 调试(Debug)模式下编译后,就用于应用环境中了
  4. 实际作业模式分享

  上面的问题就像毒瘤,积累到一定程度就爆发,且影响深远。 

  一、数据库连接超时篇

  若要知道数据库连接超时问题,先看下面一段代码:

[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技术.NET开发者常会忽略的几个错误,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。