2010-12-14 77 views
3

Si je me connecte à une base de données Firebird intégrée et crée un événement distant, j'obtiens System.NotSupportedException: La méthode spécifiée n'est pas supportée .. sur le constructeur.Comment utiliser les événements sur une connexion de base de données Embedded Firebird?

_fbRemoteEvent = new FbRemoteEvent(_fbConnection); //_fbConnection is valid and Opened 

regardant le code source de la pile d'appel, il conduit à FesDatabase.cs avec

RemoteEvent IDatabase.CreateEvent() 
{ 
    throw new NotSupportedException(); 
} 

J'utilise la version intégrée pour les tests automatisés but ... Y at-il quelque chose que je peux faire pour l'événement à partir de la base de données intégrée dans un contexte de test?

Luc

Répondre

-1

Les événements sont malheureusement pas pris en charge en mode embarqué dans Firebird - ils ne peuvent être exécutés sur le réseau. Cela est dû au fait que tout le protocole de configuration d'un gestionnaire d'événements implique la configuration d'une deuxième connexion réseau au serveur FB - comme vous n'utilisez pas du tout une connexion réseau en mode embarqué, cela ne fonctionnera pas.

+0

Merci Gab. il est bon de connaître la raison de cette limitation. Je vais utiliser un serveur normal pour mes tests automatisés avec une configuration un peu plus intrusive. –

+1

Les événements fonctionnent sur Firebird Embedded, mais il est possible que cela ne soit pas implémenté dans le fournisseur Firebird .NET (ou qu'il n'ait pas été implémenté au moment de ce post). –

+0

@MarkRotteveel Existe-t-il une implémentation fonctionnelle de l'utilisation des événements sur Firebird Embedded? Si je me souviens, la poignée de main de gestion des événements requis une connexion réseau, ce qui (je pensais) est par définition pas disponible en mode intégré. –