我有一个C#网络应用程序,我想与PHP购物车集成,这可能吗?
答案 0 :(得分:2)
除非它在数据库中并且你编写了一种在两种语言之间工作的(反)序列化算法,否则它是不可能的。如果它应该是只读访问权限,那么我会为只有这个目的的用户设置只读权限。
如果它存储在文件系统中,我认为访问它是不安全的。
答案 1 :(得分:2)
确实这取决于细节。您是否希望PHP应用程序在.NET环境中运行?如果是这样的话,我会看一下Phalanger,但我认为它不会按你的意愿运作。
你也可以查看PHP on IIS,但这也不会给你很多信息。
正如annakata所提到的,我假设您最好调用/重定向到PHP脚本或从PHP脚本重定向到ASP.NET网站。
我感觉这不是一件容易的事,所以......幸运的你;)
答案 2 :(得分:0)
嗯,你需要更详细地描述这些碎片,但如果可能的话,这将是非常重要的。
Response.Redirect to cart.php怎么样?inputparams = foo - >做的 - > PHP重定向到thankyou.aspx?inputparams = bar
您可以将PHP作为服务使用吗?
或者请求PHP的输出作为HTTPWebRequest?
答案 3 :(得分:-1)
这里有一些选择。虽然Java有更多的集成选项,特别是对于会话,C#/ .Net可能会依赖其他产品进行通信。
如果这是后台处理(例如,结账后处理完成的订单),它可能会更简单。但是,您想要混合Web应用程序。如何以及你想要混合它们可能(并且可能确实)使这个相当困难 - 或者至少是未知的水域。毕竟,PHP在IIS下的Apache和.Net Web应用程序下运行。
您将不得不经历另一个技术层。其他人提到了数据库,但这不是实时网络应用程序上会话存储的可行或高效解决方案。
您最好的选择可能是memcached,其中至少有一个C#客户端库。以下是cross-platform serialization using memcached的示例。
如果您有后台工作处理,beanstalkd也可能值得考虑。它是一个分布式工作队列进程,有几个客户端库(例如Ruby,PHP,Perl,Erlang)。我看不到C#版本,但可能已经完成了。请参阅protocol docuentation。
我之所以提到这一点是因为您可以将bean写入工作请求发送到beanstalkd而不是C#轮询或询问PHP会话。
答案 4 :(得分:-1)
PHP将其会话存储在文件中。 客户端cookie包含文件名,php.ini包含路径。
从dotnet访问php会话数据应该相对简单。 我正在寻找一个可以做到这一点的图书馆,但如果我找不到一个,我会自己写一个。