如何从网页Javascript调用c#方法

本文关键字:调用 方法 Javascript 网页 | 更新日期: 2023-09-27 18:06:28

我的问题是我需要从网页发送TCP消息。出于安全原因,这是不可能的,所以我在一个已经作为生产环境的一部分运行的程序中编写了一个c#函数来发送TCP消息,并且我想通过网页调用该方法。我基本上需要托管一个web服务,并从javascript在网页中调用该web服务中的c#函数。我怎样才能简单地做到这一点?

我已经看了解决方案,如asp.net(我的网页是一个巨大的网络客户端,不能也不能利用。aspx文件的一部分),和WCF(这似乎是过度的简单地发送一个TCP消息),但似乎没有真正确定我的意图调用c#函数在一个项目中,我已经做了,从一个web客户端已经很大相对不可改变。

请注意,我真正想做的是能够在我已经制作并计划部署的项目中调用c#代码,所以我希望能够将REST功能添加到那里的方法中,但我也非常开放在我现有项目之外的简单/智能解决方案。

谢谢你的指导!

如何从网页Javascript调用c#方法

你有很多选择,但我会选择web服务,我个人的偏好是ASP。. NET MVC Web API。我不知道你该往哪个方向走,但你可以从这里开始,走得更远。使用ASP编写RESTful Web API是可能的。它是一个相对成熟的产品,拥有大量的用户。

http://www.asp.net/web-api

http://www.asp.net/web-api/overview/older-versions/build-restful-apis-with-aspnet-web-api

至于调用Web API方法,您可以使用任何类型的AJAX调用。我自己通常使用jQuery的AJAX方法

最好的方法是通过soap/rest web服务直接调用ajax。

也有一些从网站调用服务器应用程序的替代方案:

你有和世界上服务器端服务一样多的选择。在我看来,最简单的方法是对php文件进行ajax调用,该文件将运行对c#程序的调用。另一方面,在性能方面,它不是最好的解决方案。你绝对应该考虑使用NodeJS,因为它是一种完美的技术来制作服务器端"服务器",它将为服务器处理任务,并与浏览器调用(通过ajax或socket.io)很好地工作。如果你的TCP消息不是太复杂,你可以在Node中重写它,或者直接从Node应用程序调用c#。

PHP解决方案:

使用一个文件来执行你的程序,例如http://php.net/manual/en/function.exec.php

NodeJS:

有一个很好的要点,它展示了如何发送TCP消息:https://gist.github.com/tedmiston/5935757

Ajax调用:

可以使用纯javascript (http://www.w3schools.com/ajax/ajax_xmlhttprequestrongend.asp)或jQuery等库http://api.jquery.com/jquery.ajax/

socket . io:

简单的套接字。一个最简单的Socket的例子是什么?io例子吗?

注意:你需要保护访问,留下任何未经授权调用服务器应用程序的方式都是高度不安全的。