我可以通过Javascript与.NET库进行交互吗?

时间:2009-11-16 00:27:50

标签: c# .net php javascript

我们构建了一组.NET库(在C#中),用于与外部资源交互。外部资源提供Java和.NET中的绑定,因此有必要使用其中一种语言构建我们的库,我们正式成为Windows商店。

我们还为许多前端Web应用程序使用PHP / Javascript。这些PHP / Javascript Web应用程序是否可以与我们的.NET库交互?我们有IIS和Apache Web服务器,如果这有所不同。沟通需要双向进行。

3 个答案:

答案 0 :(得分:6)

最明显的方法是在Web服务器(IIS或Apache / Mono)上公开.NET库as web services。这允许JS和PHP使用相同的服务端点(JS通过AJAX,PHP与Web服务调用)。

如果需要考虑极端性能 - 例如,您的PHP应用程序需要对.NET库进行大量调用,就好像它们是原生的一样,那么Web服务可能不是最好的方法。为此,您可能希望研究为您的.NET库和COM Callable Wrappers制作consuming them from PHP

答案 1 :(得分:2)

虽然Ajax是常用的方法,但是如果它可能有所帮助,另一个想法就是在客户端使用Silverlight。这样,您就可以将.NET类嵌入到Silverlight应用程序中,然后将其下载到将在浏览器中运行的客户端。 Silverlight应用程序可以轻松地与JavaScript以及远程资源进行双向交互。

例如,您可以使用[ScriptableMember]属性标记.NET方法,该方法会将其公开给JavaScript。

答案 2 :(得分:1)

您可以通过AJAX调用传递数据,您可以通过JSON与客户端进行通信。对于客户端数据集操作jLinq是一个很棒的库,用于在JSON对象上执行Linq查询。

如果您正在寻找一个开始使用Web服务的好地方,那么JSON和ASP.Net webforms Dave Ward的posts on Encosia真的是一流的。