2012-10-29 2 views
4

Close() 및 Dispose()에 대해 읽는다면 언제든지 Using Block을 사용하는 많은 참조가 표시되지만 결국에는 WebMatrix C# Razor 구문에서 Using Block을 사용하십시오.WebMatrix Database.Open ... Close() 및 Dispose()

그래서 예제를 사용하여 정확히 어떻게 말해 줄 수없는 한 Using Block을 사용하는 답변을 원하지 않습니다.

  • 내가 사용 모두 닫기()과 폐기()해야 :

    내 연결을 완료하고 후, Database.Open()의 사용이 특정

    은/내 질문은

    를 쿼리?

  • Close()를 호출 한 다음 Dispose() 또는 Dispose()를 누른 다음 Close()를 호출해도 문제가되지 않습니까?

간단한 질문에 대한 간단한 답변을 원하십니까? 감사합니다

답변

4

ASP.NET 도우미 프레임 워크의 예제에는 요청이 끝날 때 프레임 워크 자체가 Dispose를 호출하기 때문에 Close 또는 Dispose 호출이 포함되지 않습니다. 데이터베이스 도우미 대신 ADO.NET을 사용하는 경우 using 문을 사용해야합니다. 블록을 사용하여 데이터베이스 도우미 전화를 포장에서 당신을 중지 아무것도 없다는 것을 말해 두 겠는데 :

IEnumerable<dynamic> floaters = null; 
using(var db = Database.Open("MyDb")){ 
    var sql = "SELECT * From LifeRafts"; 
    floaters = db.Query(sql); 
} 

당신이 자신을 모두 관리하고 싶다면, 당신은 단순히 닫기 전화 또는 폐기 할 수 있습니다. 어쨌든 둘 다 ADO.NET 연결 풀로 연결이 반환됩니다.

+0

이것은 ASP.Net Web Pages/WebMatrix에서 block을 사용하는 좋은 예입니다. 고마워 | 데이터베이스 도우미를 사용할 때 WebMatrix에서 사용하는 데이터베이스 연결/쿼리 코드를 래핑하는 데 실제로 이점이 있습니까? – cusman

+0

특정 데이터베이스 작업에 대한 내 자신의 사용자 지정 시간 제한을 설정하고 어떤 이유로 든 블록 사용을 사용하지 않으려 고하여 ADO.NET을 사용하는 경우 해당 Close() 및 Dispose() 질문에 응답 할 수 있습니까? 대본? 특히 둘 다 사용합니까? 특정 순서대로? – cusman

+0

필자는 내 대답을 업데이트했으며 아니요 데이터베이스 도우미를 사용할 때 이점이 없습니다. –

관련 문제