PHP到C#,反之亦然

Dan*_*Sh. 8 php c#

我在这个项目中:

前端公司人员将使用的一个网页,用于查询和更新SQL DB中的数据.我正在使用visual studio,后面的代码(C#)差不多完成了,所以SQL和C#之间的交互是可以的.我最初的想法是使用我熟悉的ASP.NET,但这是不可能的.我必须切换到PHP.所以,今天是我学习PHP的第一天,查看http://php.net/manual/en/index.php,很多东西看起来和ASP.NET非常相似所以我想它不会那么难.

无论如何,一些问题突然出现得很快,因为我想编写别的东西而不是"你好世界".

有没有一种简单的方法可以使用php页面从我的类中获取/发送C#变量?我已经阅读了关于使用XML的内容,但是我仍然摸不着头脑,还有另一种更简单的方法吗?

Che*_*eso 12

你有选择.

  1. 直接整合.PHP可以实例化和使用.NET对象.请参阅PHP中的DOTNET库.因此,如果您在Windows上运行PHP,并根据PHP DOTNET基础结构的要求公开.NET逻辑,那么您可以直接从PHP调用.NET类.一些限制:PHP构建为与.NET 2.0运行时集成.您无法构建.NET 4.0对象并从PHP连接到它们.

  2. 同步网络协议.正如其他人建议你可以通过一个REST或Web服务接口公开你的C#逻辑,然后使用curl库或者从PHP调用这些服务file_get_contents().C#逻辑可以(但不一定)公开暴露.换句话说,您只能从应用程序的防火墙内访问它,以便不能进行匿名公共访问.另一方面,您的架构可能要求从第三方或用户应用程序访问相同的API.在这种情况下,它需要公开曝光.

    无论是公共还是私有,您都希望使用WCF或ASPNET MVC来公开在C#中实现的这些服务.

  3. 异步机制.PHP可以连接到MSMQ.请参阅使用PHP打开MSMQ队列.当然C#也可以这样做.您可以使用MSMQ作为两个世界之间的缓冲通信机制.要做到这一点,你需要为你输入和获取队列的消息提出一个数据序列化协议.JSON或XML在这里是合适的选择.

  4. 数据库.如果您担心使用MSMQ,因为它是"需要管理的另一个基础架构",您也可以使用数据库作为中间人.PHP和C#都可以访问共享数据库,并将其用作消息队列或通信管道.PHP在MySQL表中插入消息,C#应用程序可以读取和处理它们,然后将回复消息放在不同的表中.这需要您设计消息格式,协议,索引和请求/回复关联机制.但它依赖于您已经知道如何使用的经过验证的现有技术.

  5. 最后,还有Phalanger.这使您可以将PHP编译到.NET Framework上.这意味着C#和PHP之间的集成将很简单.我没试过,但它可能满足你的要求.