2009-11-09 5 views
0

Imaginez un site où l'utilisateur se connecte et peut voir sa webcam IP (je peux faire ce peu je crois). Le problème est que je veux que le site fasse un peu de traitement sur les images/vidéos arrivant même quand l'utilisateur n'est pas connecté i.e exécute un algorithme de détection de mouvement et s'il y a mouvement log l'incident dans une base de données.ASP.NET et C# traitement constant derrière le site possible?

De quoi aurais-je besoin pour apprendre à mettre en œuvre ce projet? Je veux utiliser ASP.NET et C# donc je suppose:

  1. Apprendre ASP.NET.
  2. En savoir C# (Je suis un développeur d'applications de bureau assez compétent).
  3. Base de données mySQL (Est-ce le meilleur type de base de données à utiliser dans cette situation?).

Je n'ai pas utilisé ASP.NET avant donc je n'ai aucune idée de ce qu'il peut/ne peut pas faire. Je pense que je peux mettre en place un site ASP.NET et afficher un flux en direct, mais comment puis-je implémenter le bit qui est toujours en cours d'exécution dans les images de fond du flux en direct et la journalisation des incidents?

Toute aide est appréciée. Merci d'avance.

+0

ASP.NET sera la partie facile. La lourde levée ici sera faite par certains scripts de client comme Flash. –

+0

Vous devez aller en apprendre davantage sur le développement web avant de penser si loin. – Gregory

+0

SQL Server est le plus pris en charge par ASP.Net & C# –

Répondre

1

Vous souhaitez probablement utiliser quelque chose comme Windows Service pour effectuer le traitement en continu. Avec le site ASP.NET parler à la base de données et afficher le flux. ASP.NET n'est pas vraiment adapté pour effectuer des tâches d'arrière-plan.

MySQL devrait fonctionner correctement et est gratuit, donc si ce n'est pas une tâche liée au travail, alors ce pourrait être un bon choix. J'ai ici une base de données MySQL qui contient près de 100GB de texte. Donc, il devrait gérer ce que vous suggérez.

+0

Je suppose que je vais devoir installer mon service Web sur la même machine que l'endroit où mon site ASP.NET est hébergé (je ne dois pas mais pourquoi rendre les choses complexes ?!) Le service Web serait le noyau de mon programme, n'est-ce pas? Je veux être en mesure de dire au service Web ce qu'il faut faire, c'est-à-dire lui dire ce qu'il faut suivre, et je veux être en mesure de le faire à partir du site ASP.NET. – Guesty

+0

Si vous souhaitez envoyer des commandes au service Windows depuis le site Web, vous devez probablement utiliser WCF. Vous pouvez héberger un service WCF dans un service Windows.Le service Windows a des threads effectuant le traitement de la vidéo, et le service WCF peut accepter les commandes. – Glenn

+0

Vous pouvez également faire en sorte que le service Windows communique avec la même base de données que le site asp.net. Ainsi, le site définit les champs dans la base de données que le service prend en charge. Vous avez donc des champs dans la base de données qui indiquent au service ce qu'il doit suivre et dont les données sont affichées et modifiables sur le site Web. Le service Windows peut alors regarder le même champ pour déterminer ce qu'il devrait faire. – Glenn

1

Le site Web et la base de données que vous êtes sur la bonne voie, ASP.Net et MySql fonctionneront très bien pour le type de projet que vous décrivez. Cependant, le bit de traitement ne correspond pas très bien au modèle ASP.net.

Je vous recommande de penser à créer un Windows Service pour faire le traitement que vous avez besoin de faire. Il semble que vous souhaitiez que votre processeur fonctionne sur des flux vidéo distants. Vous devrez donc réfléchir à la manière dont vous allez recevoir ces flux en direct et au nombre de flux concurrents que vous pouvez traiter de manière réaliste.

Peut-être est-il sensé d'avoir une application ou un service client que vos utilisateurs exécuteraient localement, ce qui enverrait une requête ping à votre service hébergé lorsqu'il détecterait un mouvement? Dans ce cas, vous voudrez probablement envisager d'héberger un WCF service qui peut être fait dans IIS ou toute application autonome (comme le service Windows mentionné ci-dessus).

Questions connexes