与 php 和 java 互操作的 C# dll

Posted

技术标签:

【中文标题】与 php 和 java 互操作的 C# dll【英文标题】:C# dll which is inter-operable with php and java 【发布时间】:2011-01-25 09:27:33 【问题描述】:

我需要用 C sharp 创建一个 dll,它可以与 php 和 Tomcat/Java webservices 互操作。

普通的 C# 类库会帮我解决这个问题吗?

谢谢, 约翰

【问题讨论】:

到底有什么意义? 您是生产还是消费网络服务? 【参考方案1】:

普通的 C# 类库会帮我解决这个问题吗?

您可以使用可被 PHP 和 Java 使用的可互操作的 basicHttpBinding 将类库公开为 WCF service。

【讨论】:

【参考方案2】:

我将其解释为“我需要使用 Web 服务”,在这种情况下,请使用 wsdl.exe,或使用“添加 Web 引用...”/“添加服务引用...”选项在 Visual Studio 中。任何一种方法都会导致创建代表目标服务的 WSDL 的适当代理类。

这是数据/协议的互操作性;请注意,dll 本身 不能直接从 java / php 中使用。

【讨论】:

【参考方案3】:

您的问题有点不清楚“可操作性”的方式。我假设您正在谈论制作一个将调用这些 Web 服务的 C# 类库,而这恰好是在 PHP/TomCat/Java 中实现的。

是的,.Net 框架对调用 http 端点有很好的支持。此外,如果这些端点碰巧返回 XML 数据,那么也有很好的支持。如果服务是 RESTful 的,你甚至可以支持它。

更新:因为我最初的假设是错误的,互操作性必须从 PHP/Java 到 .Net,我建议看看这些语言如何与 COM 互操作。 .Net 类可以公开为 COM 类,PHP 和 Java 可以进一步使用这些类。

【讨论】:

感谢Peter您的回复。我需要在Web服务中调用从dll导出的函数。【参考方案4】:

也许我错了,但你可以在 php 中使用 C# 程序集和 DOTNET 类:

http://php.net/manual/en/class.dotnet.php

【讨论】:

以上是关于与 php 和 java 互操作的 C# dll的主要内容,如果未能解决你的问题,请参考以下文章

字符串数组 C# 与 C++ dll 的互操作性;从 C# 到 C++ dll 的字符串数组,它设置数据并将其发送回 c#

将 C# 函数指针传递到 C++/CLI 互操作 dll

本机 C++ 程序在使用 C++/CLI 和 C# 互操作 DLL 启动时崩溃

C# 和 C++ 互操作

C# 4、COM 互操作和 UPnP:三驾马车

Java 和 C# 互操作性