2009-02-27 6 views
2

J'ai besoin de quelque chose qui fonctionne en arrière-plan et va dans ma base de données et numériser et mettre à jour certaines lignes en fonction d'une certaine logique. J'ai besoin que cela fonctionne comme toutes les heures et mon environnement est Windows Server 2003, SqlServer 2005.Service Windows par rapport à Windows Workflow Foundation?

Le WWF est-il bon à cette fin? Ou devrais-je créer un service Windows? Et, quelle est la différence entre WWF et Windows Service, ou simplement quelle est la meilleure façon de le faire?

Merci, Ray.

Répondre

2

Je voudrais utiliser un service Windows si j'étais vous. J'ai fait beaucoup de travail dans WF et la principale raison pour laquelle je ne le ferais pas dans WF est que MS est en train de réécrire complètement la prochaine version de WF selon ce que MS a dit à PDC en octobre. Il y aura un moyen pour exécuter des activités héritées 3.0/3.5 dans 4.0, mais mon impression était qu'il y aura des changements majeurs.

En outre, il semble que vous n'ayez pas besoin de la capacité d'activité modulaire fournie par WF. WF va ajouter une autre couche d'abstraction dont on dirait que vous n'aurez pas besoin, et vous aurez encore besoin d'écrire un service Windows pour exécuter votre flux de travail que vous créez. WF serait un bon choix si vous aviez un homme d'affaires qui avait besoin de changer constamment la logique qui se passait et que vous vouliez faire un gros investissement dans la gestion de ce processus que vous voulez créer.

Aussi, je suis d'accord qu'en fonction de ce que vous dites, vous devriez envisager de créer un paquet SSIS dans SQL Server, à moins que vous n'ayez pas directement accès à la base de données.

3

Je dirais utiliser un service Windows pas un flux de travail. L'utilisation d'un workflow est pour quand il y a un processus impliqué. Comme vous venez de mettre à jour des enregistrements dans une table, je dirais qu'un service est aussi bon que n'importe quoi.

En fait, maintenant que j'ai relu votre question, vous pouvez envisager un travail SQL Server aussi bien qu'ils peut être programmé pour s'exécuter à l'intervalle que vous voulez. Un service Windows est un processus long s'exécutant en arrière-plan dans Windows. Un flux de travail Windows Workflow Foundation est utilisé pour définir un flux de travail pour un processus métier (ou quelque chose). Vous devez héberger le runtime du workflow dans quelque chose (application de la console, ASP.Net, service Windows, etc)

+0

Merci pour votre réponse. Je lance une application ASP.NET sur le serveur. J'ai juste besoin d'un processus d'arrière-plan pour scanner une table. –

+0

Ya, je suggérerais un travail SQL Server alors, si tout ce que vous devez faire est d'exécuter une requête sur un intervalle planifié, ce serait le chemin à parcourir. – cbeuker

0

Le service Windows fonctionnait pour moi par le passé, la fonction principale de workflow ne prévoit pas de programmation et vous devez lui fournir un hôte, lorsque l'infrastructure de services Windows contient déjà tout cela et qu'elle est également bien documentée.

Questions connexes