2010-07-21 4 views
0

En fait, je ne sais pas si ma question est liée à ce sujet.Comment appeler un programme externe dans ASP.NET de sorte que chaque visiteur soit isolé?

Je veux créer une application Web en utilisant ASP.NET MVC 2.

Pour simplifier, que mon scénario comme suit:

Un visiteur est autorisé à soumettre un fichier texte et obtenir une sortie pdf du serveur.

Il existe une application semblable à Adobe-Acrobat, qui peut convertir du texte en pdf, fonctionnant sur mon serveur.

Ma question est de savoir comment exécuter le convertisseur de sorte que chaque visiteur soumettant des fichiers ne puisse pas interférer avec les autres?

Dois-je créer une instance du convertisseur pour chaque visiteur?

Merci d'avance.

salutations, Yoyo

Répondre

1

Cela dépend de vos besoins, si vous voulez l'exécuter de manière synchrone ou asynchrone. Si son processus synchrone alors ASP.Net exécute chaque demande dans un thread séparé de sorte que vous n'avez pas à vous inquiéter. Donc, il n'interférera pas avec les autres. Si son processus asynchrone alors vous pouvez écrire le service de Windows qui fonctionnera en backgound pour exécuter chaque demande de l'utilisateur.

+0

Merci Lucene utilisateur pour votre réponse. Après avoir fait quelques essais et erreurs, il semble que l'assembly externe doit fonctionner de manière asynchrone. Si je crée un service Windows, comment associer chaque instance d'assembly à l'utilisateur? – xport

0

Eh bien, que tout dépend des capacités de votre composant convertisseur et son API. Comment utilisez-vous le processus de conversion? S'agit-il d'un assemblage .NET ou d'un processus externe avec lequel vous communiquez?

ASP.NET peut vous aider, car il contient les concepts suivants:

  • Chaque demande est exécutée dans un fil séparé avec son propre contexte
  • Vous pouvez utiliser des sessions pour associer plusieurs requêtes avec l'utilisateur leur origine
+0

Mon scénario réel est le suivant: Je souhaite autoriser les utilisateurs à entrer des expressions mathématiques dans mon site. Le serveur les traite ensuite en appelant le noyau MAXIMA fonctionnant sur le même serveur. http://calc.matthen.com/ est un exemple développé par d'autres. Étapes à suivre pour établir la communication avec le noyau maxima: 1. créer une application socket en écoutant un port. 2. connectez maxima (en tant que client) à l'application. J'ai créé l'application d'écoute en mode Windows Form. Cela fonctionne et je veux le faire fonctionner en mode ASP.NET. Quelle modification dois-je faire? Convertir en application console? – xport

Questions connexes