ADO.Net 호환 인터페이스 인 MySQL 제공 커넥터/NET을 통해 MySQL을 사용하는 ASP.Net 웹 응용 프로그램을 개발 중입니다. 내 이해 ASP.Net 동시 요청을 별도의 스레드에서 처리됩니다, 그래서 내 코드는 스레드로부터 안전해야합니다.ADO.Net을 사용하여 MySQL에 대한 다중 스레드 액세스
MySQL 문서에서 스레드로부터 안전하게 API를 사용하는 방법을 명확하게 설명하는 항목을 찾을 수 없습니다. MySqlCommand에 대한 설명은 다음과 같습니다.
이 유형의 공용 static (Visual Basic의 경우 Shared) 멤버는 다중 스레드 연산에 안전합니다. 인스턴스 멤버는 스레드로부터 안전함을 보증하지 않습니다.
정적 인 메서드를 동시에 호출하지 않는다면 스레드간에 연결 개체를 공유하는 것이 안전하다는 것을 이해해야합니다. 즉, 내가 할 수있을 에게서는 :
IDbConnection myConnection = GetSomeConnection(); // Returns a shared object
IDbCommand cmd;
lock(myConnection)
{
cmd = myConnection.CreateCommand();
}
// Some code using cmd
그러나, 나는 아직 문서가이 안전하다는 것을 알리는 찾을 수없는 것을 걱정, 그것을 알리는 문서의 부족은 안전하지 않습니다.
안전하지 않은 경우 스레드 로컬 연결을 사용하는 것이 좋습니다. 그렇지 않으면 일종의 연결 풀을 구현해야합니까?