2011-07-28 4 views
1

우리는 더 이상 SQL Server SP를 호출하는 .net 웹 서비스를 호출하는 winforms 클라이언트 응용 프로그램이 있습니다. 특별한 경우에 우리는 서버에서 무거운 배치 처리를하는 sp를 호출하고 있습니다. SQL Server sp가 실행되는 동안 winform 클라이언트에서 진행 상황을 다시 업데이트 할 수있는 방법이 있습니까? 모든 일괄 처리를 수행하는 비동기로 내 주요 webmethod를 호출하는 것을 고려했습니다. 그런 다음 주기적으로 서버에 쿼리하여 진행 상황을 알 수있는 별도의 스레드에서 다른 웹 메소드를 호출하십시오. 이것이 가능한가 ? 또는 이것을 달성하기위한 다른 접근법이 있습니까? 상담하십시오.winform 클라이언트에서 SQL Server SP의 진행 상황을 표시하는 방법은 무엇입니까?

미리 감사드립니다.

답변

1

내가 제안한 것과 유사한 방법을 사용하기 전에이 작업을 수행했습니다. 저장 프로시 저는 실행되는 상태 테이블을 업데이트하고 다른 스레드는 NOLOCK 힌트를 사용하여 해당 상태 테이블을 쿼리합니다. 이 방법으로 발견 한 흥미로운 점은 작업이 트랜잭션에서 발생하고 트랜잭션이 롤백되면 상태 표시 줄이 롤백되어 뒤로 이동한다는 것입니다. 그러나 성능상의 이유로 많은 양의 작업이 단일 트랜잭션으로 수행되지 않아야합니다.

관련 문제