2014-05-20 4 views
0

때때로 LinqPad 쿼리를 작성할 때 데이터베이스 객체가 얼마나 복잡한 지 잊어 버립니다. 이렇게하면 결과가 출력 창에 렌더링되는 데 더 오랜 시간 (> 5 분) 소요되는 쿼리가 발생할 수 있습니다 (< 5 초). 이것이 발생하는 동안 LinqPad UI 전체가 응답하지 않게됩니다.렌더링 중 LinqPad 쿼리를 취소합니다

'중지'버튼을 사용하여 DB에서 반환하기 전에 쿼리를 취소 할 수 있지만 너무 오래 걸릴 경우 결과 집합의 렌더링을 취소 할 수 있습니까?

오버로드를 사용하면 많은 테이블 관계와 관련된 렌더링이 줄어들지 만, 이것이 기본적으로 수행된다는 것을 알게되었습니다. (그렇다고하더라도 항상 이것을 사용하는 것을 기억해야합니다)

linqpad를 죽이거나 다시 돌아 오기를 기다리는 것보다 렌더링 작업을 취소하는 좀 더 우아한 방법이 있습니까?

+0

[LINQPad 프로그램 실행 취소] 가능한 복제본 (http://stackoverflow.com/questions/23334386/cancel-linqpad-program-run) –

+0

@FrankvanPuffelen 실제로 그렇습니다. 제 질문은 당신이 링크 한 것보다 분명합니다. 그러나 귀하의 대답은 내 질문에 대한 답변입니다. – CoderTim

+0

이 질문에 대한 답변을 얻은 사람은 ** [이 기능 요청]을 제기했습니다 (https://linqpad.uservoice.com/forums/18302-linqpad-feature-suggestions/suggestions/5508662-cancel-long- 실행 덤프 렌더링) ** [LinqPad 사용자 사이트] (http://linqpad.uservoice.com/forums/18302-linqpad-feature-suggestions)에서 확인하십시오. 사이트에는 다른 많은 좋은 아이디어가 있으므로 원하는 기능을 등록하고 투표하십시오. – CoderTim

답변

2

설명하신 문제가 재현되었습니다. LINQPad UI가 일시적으로 응답하지 않으며 결과를 표시하는 내장 된 WebBrowser 컨트롤에 크고 복잡한 문서를 제공 할 때 발생합니다.

v4.50.02 (서면 작성시 in beta)로 해결되어야합니다. 이제 LINQPad는 개체 그래프를 렌더링 할 때 방문한 개체의 총 수를 추적합니다. 임계 값을 초과하면 중첩 깊이가 자동으로 다시 감겨 결과 HTML이 작아지기 때문에 WebBrowser는 처음 렌더링 할 때 1 ~ 2 초 이상 멈추지 않아야합니다.

+0

감사합니다. @Joe. 나는 베타의 사본을 움켜 잡고 그것을 돌려 줄 것이다. WebBrowser 컨트롤이 백그라운드 스레드에서 렌더링을 수행 할 수있는 용량을 제공하지 않는다고 생각합니까? – CoderTim

+0

예, 제가 모르고있는 숨겨진 해결책이없는 한. –