Возможно ли, чтобы PHP взаимодействовал с работающим приложением C # Windows Form?
Я уже создавал COM Exposed DLLs и вызывал их из PHP с помощью объекта DOTNET, но он не работал для меня с «приложением Windows Form». Нужно ли создавать COM DLL и взаимодействовать с приложением Windows Form?
Редактировать:
Я решил написать быстрый EXE-файл в .NET3.5 Client Framework и посмотреть, доступны ли методы для PHP. Похоже, что я бегу Методы сейчас, bizzare! Я думаю, это возможно только с v3.5 Client, а не v4.5.
Это код C # и PHP:
C #
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Example.Interop.FormText
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public int Sum(int a, int b)
{
return a + b;
}
public int Minus(int a, int b)
{
return a - b;
}
}
}
PHP
<?php
$app = new DOTNET("Example.Interop.FormText", "Example.Interop.FormText.Form1");
echo $app->Minus(19, 20);
?>
Я еще не проверял, могу ли я запустить функцию, которая взаимодействует с пользовательским интерфейсом. Я проверим это позже, но, к сожалению, я не думаю, что смогу сделать откат на v3.5 для этого проекта.
То, что вы хотите, это:
Я на самом деле сделал это с программой VB6 15 лет назад, и она работала отлично, как вы говорите! У него была основная форма, я ударил его с сайта ASP 3.0. Он содержал в себе внутреннюю часть приложения сайта и служил администратором, но у меня не было проблем с обновлением пользовательского интерфейса, так как COM-методы запускались.
Описание По ссылке ниже (этот ответ бесполезен без него из-за сложности проблемы; ссылка включает в себя образец приложения для загрузки. Может быть, вы можете Google этот текст, если ссылка умирает).
В операционных системах Microsoft Windows технология Microsoft COM позволяет программным компонентам взаимодействовать с другими программными компонентами. Вы можете использовать технологию Microsoft COM для создания программных компонентов многократного использования. Вы также можете разрабатывать приложения, связывая эти компоненты вместе и используя преимущества служб Windows.
Объекты сервера вне процесса реализованы в исполняемом файле и запускаются в отдельном пространстве процесса.
Других решений пока нет …