FirebirdSql.Data.FirebirdClient ADO.NET 공급자 v4.5.2.0을 사용하는 .NET 4에서 Windows 서비스를 작성했습니다.파이어 버드 이벤트
서비스는 파이어 버드 Db가 게시 한 이벤트를 캡처하여 작업을 수행합니다.
내가 관련 이벤트를 구독하는 데 사용하는 코드는 다음과 같습니다
<!-- language: lang-cs -->
public void SetFirebirdEventListeners()
{
string[] fbEvents = new string[] { "QueueUpdate", "DispensedSupplyUpdate", "QueueInsert", "DispensedSupplyInsert" };
try
{
fbRemoteEvent = new FbRemoteEvent(fbConn);
fbRemoteEvent.AddEvents(fbEvents);
// Add callback to the Firebird events
fbRemoteEvent.RemoteEventCounts += new FbRemoteEventEventHandler(FbEventHandler);
// Queue events
fbRemoteEvent.QueueEvents();
WriteEventToLog();
}
catch (Exception ex)
{
log.Error("Error setting firebird event listeners. {0}Message:{1}Stacktrace:{2}", Environment.NewLine + Environment.NewLine, ex.Message + Environment.NewLine, ex.StackTrace);
throw;
}
}
파이어 숙박에 연결 한 서비스가 실행되고 엽니 다.
이것은 일정 기간 (일반적으로 몇 시간 동안) 정상적으로 작동하지만 서비스가 단순히 이벤트 수신을 중지하는 것처럼 보입니다. 예외는 발생하지 않습니다.
누구도 Firebird에서이 문제가 발생하여 원인을 찾았습니까? 나는 문서에서 안절부절 못합니다. 서비스가 더 이상 이벤트에 가입하지 않는다는 경고를받는 방법이 있습니까?
최근 이벤트와 관련하여 버그가 수정되었지만 버전이 최신 버전입니다. http://tracker.firebirdsql.org/browse/DNET에서 버그 리포트를 제출하는 것이 좋습니다. 재현 가능한 테스트 케이스가 있다면 도움이 될 것입니다. –