SqlDependency 클래스를 사용할 때는주의해야합니다. 메모리 누수가있는 problems입니다. Hovewer에서는 SqlDependency 클래스의 오픈 소스 실현 인 SqlDependencyEx을 사용할 수 있습니다. 데이터베이스 트리거와 네이티브 Service Broker 알림을 사용하여 테이블 변경 사항에 대한 이벤트를 수신합니다. SqlDependecyEx와
int changesReceived = 0;
using (SqlDependencyEx sqlDependency = new SqlDependencyEx(
TEST_CONNECTION_STRING, TEST_DATABASE_NAME, TEST_TABLE_NAME))
{
sqlDependency.TableChanged += (o, e) => changesReceived++;
sqlDependency.Start();
// Make table changes.
MakeTableInsertDeleteChanges(changesCount);
// Wait a little bit to receive all changes.
Thread.Sleep(1000);
}
Assert.AreEqual(changesCount, changesReceived);
당신이 UPDATE을 피하고, 단지 모니터링 삽입하거나 삭제 할 수 있습니다 : 이것은 사용 예이다. 희망이 도움이됩니다.
청취자를 중지시키고 업데이트 후에 시작할 수 있습니까? –