2009-10-12 4 views
0

디버그 모드에서 코드를 실행할 때 임의로 다음 오류가 발생합니다. 몇 가지 명령을 즉시 실행 된 후디버그 모드에서 TransactionScope 임의 오류

Cannot access a disposed object. 
Object name: 'SqlDelegatedTransaction'. 
  • 오류 (VAR 범위 = 새 TransactionScope에를 사용하여

    (TransactionOption 연, 난 그냥 하나의 트랜잭션이 아닌 시간 제한 문제

  • , 발생되는 . 필수))

  • 중첩 된 코드에서 위의 동일한 문으로 여러 연결이 열립니다.

  • 내가 잘못 될 수 무엇

SQLSERVER 2008을 사용하고있다?

+2

자세한 내용을 추가해야합니다. 코드에서 어떤 줄에이 오류가 발생합니까? 뭐하고 있었는지/디버깅 (어쩌면 '실행할 라인'을 블록을 사용하여 바꿀 것인가?). –

+0

사용 블록을 종료 한 후에 다른 것을 호출하려고합니까? 블록을 사용한 후, 객체는 dip되었다. 귀하의 코드를 살펴보고 잘못 사용 된 '}'을 사용하여 사용중인 블록을 실수로 종료하지 않았는지 확인하는 것이 좋습니다. –

답변

0

TransactionOption.Required를 사용하면 트랜잭션이 주변 트랜잭션을 조인합니다.

한 가지 이론은 다음과 같습니다

당신은 트랜잭션 범위 통해 이동 scope.Complete을 (호출하지 않는 경우
  • )는 abmient 트랜잭션을 처리합니다. 데이터베이스에 대해 실행하려고하는 다음 코드는 실패합니다. 당신이 다중 활성 결과 집합을 지원하지 않는 SQL 서버 2000 (MARS)
  • 은 연결 문자열은 MultipleActiveResultSets을 지정 하는가를 사용하고

    • :

    또 다른

  • 활성 결과 집합에 대한 문제가 될 것입니다 = true
관련 문제