3

VS.Net 2008에서 Quickwatch 또는 Watch를 사용하여 속성 값을 검사하려고 할 때 최근에 문제가 발생했습니다. 조사가 끝나면 SqlConnections (MSSQL 2008 서버에 대한)의 연결 문자열에서 "Asynchronous Processing = true"를 사용하면 첫 번째 쿼리가 성공적으로 완료된 후에 디버거에서 속성 평가가 시간 초과됩니다.VS.Net 2008의 "Asynchronous Processing = true"및 Quickwatch/Watch 문제

Imports System.Data.SqlClient 

Public Class Thing 
    Private Function DoSqlQuery() As Integer 
     Using conn As New SqlConnection("Data Source=MYSERVER;Initial Catalog=master;Integrated Security=SSPI;Asynchronous Processing=true;") 
      conn.Open() 

      Using cmd As New SqlCommand("SELECT COUNT(*) FROM sys.tables", conn) 
       Return DirectCast(cmd.ExecuteScalar(), Integer) 
      End Using 
     End Using 
    End Function 

    Public ReadOnly Property Value() As Integer 
     Get 
      Return DoSqlQuery() 
     End Get 
    End Property 

    Public ReadOnly Property Value2() As Integer 
     Get 
      Return DoSqlQuery() 
     End Get 
    End Property 

    Public Shared Sub Main() 
     Dim t As New Thing 
     t = t ' Put a breakpoint here. 
    End Sub 
End Class 

다음의 t = t 줄에 간략한 조사를 중단 점을 넣어 (또는 :

다음은 잘하면 내 문제에 도움이 되거 것 (NB를이 작업을 실행하려면 데이터 소스의 이름을 변경해야합니다) Watch 추가), t을 확장하여 속성 값을 봅니다. 10 초에서 20 초 정도의 지연 시간이 지나면 확장이 완료되고 두 속성 값 중 하나만 사용할 수 있습니다. 연결 문자열 Asynchronous Processing=true;을 제거하거나 false 해당 속성의 값을 변경하거나 변경하는 경우

Only one of two property values are available

이제, 모두가 잘.

누구든지이 문제가 발생했는지 알고 싶어하고 연결 문자열에서 특성을 제거하는 것 외에도 해결 방법을 제공 할 수 있습니다.

감사합니다.

답변

2

이것은 Visual Studio 2008의 버그였습니다. 위안이 거의 없지만 Visual Studio 2010 (및 2012)에서 해결 된 것 같습니다.

+0

주목할 가치가 있습니다 - 우리는 VS.Net 201x로 몇 달 동안 만 이동할 수 있지만, 그 동안 문제가 해결 될 수 있다면 헤어 풀리는 것을 막을 수 있습니다. –