달력

32024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

아주 큰~~~ 삽질

.NET/C# 2006. 7. 25. 19:46

현재 ASP.NET 2.0 으로 개발하고 있는데, 데이터베이스 관련해서 프레임워크를


하나 만들어서 사용한다.


COM+ 사용 안하고 멀티 트랜잭션 가능하고, 테이블과 객체 매핑 되고, Stored Procedure 에


최적화 시켜놨당.


그런데, 웹페이지 띠우고 새로고침 몇십번 하면 tcp resource 부족으로 먹통이 된다. ㅎㅎ


왜 그러나~ 하고 코드 자세히 뜯어보니...


private ArrayList dbts = new ArrayList();



public void CreateTransaction(bool isTransaction)
{


  DBTransaction dbt = new DBTransaction(true);

  dbts.add(dbt);

}


public void ReleaseTransaction()

{

    foreach(DBTransaction dbt in dbts){

        dbts.Clone();

    }

}


대충 이런 코드가 있는데... 빨간색 부분.... 허걱..


Close() 해야 하는데, Clone() 이당...


Visual Studio 에 코드 자동완성 뜨는거에 대충 엔터쳐서 작성해 놨더니


저렇게 되었음.



즉 트랜잭션 열어놓구, 종료두 안하고 ArrayList 를 계속 복사한 상황이다.


빨리 알아냈으니 다행이지 큰일날뻔했네 ㅎ



Posted by tornado
|