J'ai créé un service Datasnap, en utilisant le livre blanc de Bob Swart comme guide. J'ai débogué et déployé avec succès en utilisant l'application Fiches VCL en tant que serveur. Mais quand j'essaye de déployer la version de service, elle installe bien, j'essaye alors de commencer le service et il s'arrête immédiatement. L'erreur dans le journal des événements suggère que le port est déjà utilisé, j'ai essayé différents numéros de port pour TCPServerTransport et HTTPService sans joie. Le DSServer n'est pas défini sur Autostart car je souhaite définir le numéro de port à partir d'un fichier de configuration. Le message d'erreur affiché dans le journal des événements est:Échec de l'application Datasnap Service
Le service a échoué au démarrage: Impossible de lier le socket. Adresse et le port sont déjà utilisés ..
J'ai également essayé d'écrire dans un fichier journal au démarrage et à l'exécution, mais il semble que ce n'est pas le cas.
Solution nécessaire dès que possible, avant que je dois revenir à un client lourd que je ne veux pas vraiment faire.
Merci
+1 pour "l'application essaie de l'ouvrir une seconde fois et échoue". Netstat seul peut être utilisé pour vérifier les ports ouverts. –
C'est vrai, mais TCPView est tellement pratique en lui-même - et vous n'avez pas besoin de vous souvenir des paramètres de la ligne de commande :-) Plus une vue 'live'/pourrait/être plus utile dans cette situation. – shunty
Cela résolu, il semble que le problème était d'avoir le projet ouvert dans l'IDE. Le serveur DSServer n'a pas été configuré sur Autostart mais je suppose que je continuais à développer et à tester le côté serveur de l'application. J'ai recompilé en remettant le code pour l'événement de début et ai alors assuré que j'ai fermé le projet dans l'EDI avant de commencer le service. Tout a fonctionné avec succès, les doigts croisés pour le déploiement sur mon serveur de test! Merci :) – Matt