2010-05-26 4 views
3

J'ai cette fonction dans le code .net:appel fonction .net de la page PHP

public class StringGenerator 
{ 
    public static string GenerateString(string hash) 
    { 
     return hash.GetHashCode(); 
    } 
} 

Je veux être en mesure d'appeler cela de la page PHP. Une idée comment?

Modifier: en regardant dans la documentation php, http://www.php.net/manual/en/class.dotnet.php, je vois que c'est possible. mais je ne peux pas coder le code pour trouver cette DLL, même avec dll fortement nommé. le fichier dll est dans le même dossier que la page php.

Répondre

2

Si vous êtes sous Windows, cet article pourrait aider:

PHP and .NET

Sur une autre plate-forme que vous pourriez utiliser quelque chose comme Phalanger pour obtenir accès à l'exécution .NET via PHP.

0
+1

Aucun de ceux-ci aidera à appeler des fonctions .NET à partir de PHP. –

+0

Pourquoi le pensez-vous? – volody

+0

Parce que Mono lui-même n'exécute que C# et VB.NET et que Windows Azure est un service d'hébergement cloud. Ni avoir quoi que ce soit à faire avec PHP. –

1

Il existe plusieurs façons d'inclure des DLL .NET dans votre installation PHP (déjà bien documentées), dont la plupart sont assez compliquées et ont tendance à poser plus de problèmes qu'elles n'en valent puisque vous vous verrouillez dans IIS comme votre serveur Web.

La meilleure solution consiste à écrire des services Web que vous pouvez déployer sur un serveur IIS. Cela vous évite d'avoir des dépendances .NET dans votre code PHP, ce qui facilite infiniment la migration de votre application vers un autre environnement en cas de besoin. La création de services Web dans Visual Studio est un jeu d'enfant: lancez simplement un nouveau projet de service Web, déposez vos DLL et VS génère automatiquement un WSDL que vous pouvez utiliser avec la fonctionnalité SOAP de PHP.

J'étais dans la même situation l'année dernière et j'ai exploré les deux options - les services web étaient définitivement la meilleure option et la plus flexible.

+0

J'ai des fonctions héritées en .net que j'ai besoin d'appeler php. Il faut être rapide, donc je veux juste utiliser le code existant. le site php cible est sur Windows 7. dans une situation de migration, nous allons porter le code à php. – stacker