10
votes

C # Service Windows souscrit à WebServer

Je travaille sur un site Web intranet. Tous les utilisateurs doivent obtenir des popups de bureau à partir du serveur Web chaque fois que quelque chose de nouveau est affiché sur le site Web.

Je cherchais à créer mon propre service Windows qui s'abonnerait au serveur (en utilisant quelque chose comme SignalR), puis ce service montrerait une simple popup notifiant à l'utilisateur chaque fois que le serveur envoie un message.

Mais au lieu de construire cela moi-même, je me demandais si quelque chose comme ça n'est pas déjà là-bas. Je regarde un peu quelque chose mais je n'ai rien trouvé.

Je suis principalement un développeur Web et je n'ai jamais construit un service Windows ou une application de bureau C # afin que je préfère utiliser du code existant.

Est-ce que quelqu'un sait d'une telle chose?


2 commentaires

Vous n'avez pas à en faire cela compliqué. Demandez simplement votre DB pour de nouvelles entrées ou des données modifiées à partir du service Windows et affichez les informations via Windows dans la zone d'icône de la barre des tâches - Icône de service


Vous n'avez pas besoin de windows-service. Créez une application WinForms standard avec le composant «notificon» et vous gagnez. Affichage des formulaires de Windowsservice est [1 Super-compliqué ou [2 Mauvais conçu (lorsque le service est autorisé à l'aide de l'UI).


5 Réponses :


0
votes

Pour le côté SignalR Server, je vous suggère d'utiliser une winform C #.

Pour le côté client, vous pouvez utiliser JavaScript dans n'importe quel fichier HTML pour "recevoir" le message à partir du serveur SignalR, puis vous pouvez afficher un message d'alerte ou ce que vous voulez, cependant, dans ce cas, vous devez vous assurer que le Les utilisateurs parcourent ce fichier HTML dans un navigateur, sinon le message ne sera pas reçu.

Il n'y a pas de code prêt, car SignalR prend en charge différents types de serveurs ainsi que différents types de clients, je pense que vous devez écrire votre propre code. En fait, SignalR est assez facile à utiliser, écrivez votre propre code peut être plus rapide que d'utiliser les autres.


4 commentaires

La popup doit être affichée par un service, pas d'un navigateur. Les utilisateurs doivent obtenir le message même si aucun navigateur n'est ouvert.


Dans ce cas, vous pouvez créer des services pour le côté client, mais le message reçu ne peut pas interagir avec vos pages Web Intranet d'origine.


Je sais, c'est bon. Je cherche principalement quelque chose qui peut déjà faire cela (ne doit pas utiliser SignalR, il suffit de pouvoir être capable de vous abonner à un serveur Web et d'afficher une pop up simple avec du texte)


Vous savez que le serveur Web est inactif sans recevoir de requête HTTP, je pense donc que vous devez trouver des solutions à l'aide d'autres technologies telles que SignalR, MSMQ ou Connexion de socket, ou vous pouvez simplement envoyer des courriels à des clients si vos clients email supportent la poussée. notification.



2
votes

Pour la construction d'un service Windows Essayez Top étagère: http: //docs.topshelf-project. com / fr / Dernier / En général, il est facile comme un, deux, trois ... xxx


0 commentaires


0
votes

Vous pouvez probablement utiliser Desktoptoast: https://github.com/emoacht/desktoptoast ou GROGHL: http://www.grueworwindows.com/


0 commentaires

2
votes

Je travaille sur un site Web intranet. Tous les utilisateurs doivent obtenir le bureau popups du serveur Web à chaque fois que quelque chose de nouveau est affiché sur le Site Web.

Utiliser TIMER n'est pas une bonne technique ici, car les mises à jour ne sont pas garanties en particulier d'intervalle ou de session. Mais vous pouvez prendre cela comme une option basée sur le besoin.

Je cherchais à faire mon propre service Windows qui s'abonnerait à le serveur (utilisant quelque chose comme SignalR), puis cette le service montrerait une pop up simple notifiant l'utilisateur chaque fois que le Server envoie un message.

oui exactement comme une application de discussion qui aurait souvent des messages et des utilisateurs obtiennent une fenêtre contextuelle. ASP.NET SIGNALR est une bibliothèque de développeurs ASP.NET qui simplifie le processus d'ajout de fonctionnalités Web en temps réel aux applications . La fonctionnalité Web en temps réel est la possibilité de disposer de contenu de code de serveur sur des clients connectés instantanément, car il devient disponible, plutôt que de disposer du serveur d'attendre qu'un client demande de nouvelles données.

Entrez la description de l'image ici

Mais au lieu de construire cela moi-même, je me demandais si quelque chose comme Ce n'est pas déjà dehors. J'ai regardé un peu mais ne pouvait rien trouver.

références pour signalr link1 , link2 , link3

Entrez la description de l'image ici

Je suis principalement un développeur Web et je n'ai jamais construit de service Windows ou C # Application de bureau afin que je préfère utiliser du code existant.

Fabrication C # Le service de bureau ou de Windows n'est pas grave que vous êtes déjà un programmeur . Certains codes existants pour les mises à jour Pop Up sont ici .


0 commentaires