2010-11-07 6 views
1

Je me suis retrouvé dans un problème. Ma webapp principale est écrite dans asp.net et j'utilise mono + apache2 pour l'héberger. Lorsque vous hébergez des fichiers lors de l'utilisation de mono, le mime est foiré, donc je vais devoir le faire en php ou dans une autre langue. Cependant theres une certaine logique nécessaire pour trouver le chemin du fichier. Il y a quelques échappées et des filtres qui passent.appeler le code C# rapidement à partir d'une webapp (php ou autre chose)

Quel est un moyen rapide d'appeler le code C# d'une autre langue? le processus mono s'exécutera sur la même case donc je pense que je peux envoyer un message et le renvoyer ou y répondre plutôt que de lancer un exec et de lire le stdout (j'ai entendu dire que le lancement d'un processus est cher pourquoi ce n'est pas une bonne idée de générer html via un exe)

Quoi qu'il en soit, la boîte est debian (lenny je pense) avec perl, python et php disponibles.

+1

Pouvez-vous définir "rapide"? Vous pouvez tirer parti d'une communication décemment rapide entre deux processus en utilisant quelque chose comme un tube nommé. – vcsjones

+0

@vcsjones: J'oublie comment fonctionne le nom pipe (je peux le comprendre rapidement dans .net cependant). aussi je ne sais pas comment le faire en python/perl/php etc Si vous pouvez me donner un exemple rapide, puis génial. -edit- en fait, il est apparemment difficile d'utiliser des tuyaux nommés, donc peut-être une douille est mieux. http://stackoverflow.com/questions/713660/reading-writing-from-named-pipes-under-mono-linux –

+1

Pourquoi ne pas résoudre le problème de mime au lieu de mélanger des choses avec PHP? –

Répondre

0

Deux options, il peut y avoir plus.

  1. Démarrer un processus est coûteux sous Windows. Sur Linux, ce coût est extrêmement réduit et c'est une option viable ici. C'est btw. ce que signifie le commentaire "pipe". Vous "pipe" la sortie de l'exe dans votre page PHP;

  2. Utilisez HTTP. Si vous utilisez simplement PHP pour "réparer" des problèmes, vous pouvez toujours récupérer le contenu via HTTP depuis le serveur Apache en interne et ensuite le convertir en PHP. Le site PHP deviendra alors simplement une sorte de proxy.

+0

Il m'a fallu un peu de temps pour comprendre ce que vous entendez par # 2. Je ne suis pas sûr de la façon dont je passerais la requête en mono mais le problème est le code pour trouver le fichier sur le système de fichiers. Je ne saurais toujours pas comment l'obtenir à partir de la fin de php. Mais # 1 sonne bien si son vrai linux le fait –

+0

Concernant # 2: ne pouvez-vous pas simplement demander la page web du serveur apache de la page PHP? Ou avez-vous des problèmes pour déterminer quel devrait être le chemin de la page Web? –

+0

déterminer le chemin est le problème. Il ne serait probablement pas difficile de réécrire la logique en PHP, mais je vais devoir chercher beaucoup. Aussi le problème est de soutenir les recherches dans les fichiers (ogg). Comment ferais-je cela en php? –

Questions connexes