.NET/C#

아주 큰~~~ 삽질

tornado 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 를 계속 복사한 상황이다.


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