繁体   English   中英

PHP到C#,反之亦然

[英]PHP to C# and Vice versa

我在这个项目中:

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

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

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

你有选择。

  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库或file_get_contents()从PHP调用这些服务。 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之间的集成将很简单。 我没试过,但它可能满足你的要求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM