2010-09-17 11 views
0

J'ai un morceau de code .NET de taille décente qui doit maintenant être accessible par une page Web ASP. Les transactions doivent être envoyées à des instances régulières à ce "serveur" pour traitement. Le traitement prend moins d'une seconde et il y a peut-être 100-1000 transactions par jourServeur web-windows de communication: DLL proxy, web-services ou Windows service + WCF?

Je n'ai vraiment travaillé qu'avec les services COM et Windows auparavant, donc mon approche normale serait d'avoir un service Windows avec toutes les données nécessaires en mémoire en cours d'exécution et une interface graphique client se connecterait et enverrait la demande et recevrait la réponse. D'après ce que je peux comprendre à propos d'ASP, c'est qu'une DLL ou un service web est le moyen d'accéder au serveur de nos jours. Mon problème avec la DLL est, est que la DLL devrait charger des informations à partir d'une base de données pour construire les dernières informations avant qu'une transaction puisse être vérifiée. Ne devrait prendre qu'une seconde aussi bien, mais est un surcoût supplémentaire par opposition à un service Windows en cours d'exécution. D'un autre côté, le service Windows doit être plus tolérant aux erreurs.

Il n'y a que 3 ou 4 API qui doivent être appelées et il est peu probable qu'elles changent à l'avenir. Donc la question: Service Windows + WCF/Sockets/... OU DLL ou Webservices?

Répondre

0

Je voudrais aller avec le service DLL/Web (ou service WCF) moi-même. ASP.NET a la mise en cache disponible, et vous pouvez également créer certains objets de type singleton qui vivent pour la durée de vie de l'application (qui peut être ajustée via IIS). Quelque chose comme cela vous permettrait essentiellement d'avoir cet état persistant que vous auriez également dans un service Windows. Le seul véritable avantage que je peux offrir est que l'utilisation de DLL/Web Service nécessite beaucoup moins de configuration/permissions qu'un service Windows; et avec un service Windows, vous auriez aussi la question de l'IPC à traiter (et tout le plaisir de la sécurité qui va avec).