2011-07-27 4 views
0

C#을 사용하는 응용 프로그램 WinForms .net 4.0을 개발 중이고 백엔드는 SQL Server 2008 입니다.이 응용 프로그램의 데이터 특성은 데이터가있을 때마다 실시간 방식으로 사용자에게 표시됩니다. 변경되거나 새로운 데이터가 추가되면 UI는 그것을 실시간으로 반영해야합니다. 내가 지속적으로 서버에서 풀링 않고 SQL에서 데이터를 얻을 수있는 가장 좋은 방법을 찾기 위해 노력하고실시간 Gridview 업데이트

, 나는 몇 가지 옵션에 온 :

  1. 데이터를 업데이트하기 위해 백그라운드 스레드를 만듭니다. (나는 서버로부터의 풀링을 좋아하지 않는다)
  2. SQLDependency 클래스를 사용하여 서버로부터 알림을 받는다.

무엇을 권하고 싶습니다. 더 좋은 방법이 있다면 공유 할 수 있다면 좋을 것입니다.

답변

1

클라이언트가 몇 개인 경우 SQLDependency *를 사용해도 괜찮습니다. 그러나 여기에 완전히 부는 클라이언트/서버 응용 프로그램에 대한 Microsoft의 권장 방식이 있습니다.

http://msdn.microsoft.com/en-us/library/ms187528.aspx

이 방법은 많은 클라이언트 미만 자주 변경에 좋습니다.

많은 클라이언트 (예 : 수천)와 더 자주 변경해야하는이 유형의 요구 사항을 지난 번에 우리는 서버에 설치 한 미들웨어 서비스를 구축했으며, 서버에서 실행중인 변경 사항을 소켓을 통해 데이터베이스에서 브로드 캐스트합니다.

+0

감사합니다. 미들웨어 권장 사항을 사용합니다. – Dugan