如何通过本地网络正确执行C#文件?

时间:2012-01-20 14:13:50

标签: c# php javascript

概述

C#文件 - 用户PC
PHP服务器 - 托管应用程序的网页

本地网络上的服务器和用户PC

我有一个c#文件,可以读取USB刻度的重量。如何触发此文件以便将其输入到我的程序中。问题是我使用PHP来托管我们的网页/应用程序,因此它没有运行客户端,并且规模没有连接到服务器而是连接到客户端PC。

C#脚本必须在客户端才能读取比例,以便我如何触发这种情况?

这是否可能,如果不是更好的方式?


重要编辑
我希望通过PHP和C#使用TCP套接字来运行Scale Script(C#)。

C#会监听PHP发送的内容,当它发生时,它会读取比例并将此信息发送回PHP,因为PHP正在侦听响应。混合了一点Ajax,它在Web浏览器中更新。

给予Chris Credit,因为他回答我的问题时最有帮助

3 个答案:

答案 0 :(得分:3)

听起来你真正想要的是客户端应用程序将提交数据提交给网站本身,最合适的方法可能是从服务器公开Web服务。

此服务应接受权重数据以及某种客户密钥或其他任何内容,以便在服务器端正确关联记录。我从未在PHP中亲自创建过Web服务,因此我无法就其实现给出任何建议,但是一旦您公开其元数据,将C#客户端应用程序挂钩到Web服务是相当简单的(假设您使用SOAP)。

答案 1 :(得分:2)

C#不是脚本语言,它是一种编译成可执行二进制文件或库的语言。您将无法通过网站在客户端的计算机上执行C#代码,因为C#代码需要在运行之前进行编译。

据推测,您真正想要的是通过您的网站在客户端的计算机上执行已编译的C#二进制文件。你将无法轻易做到这一点。有许多安全措施可以防止浏览器在您的计算机上运行程序。可能有一些方法可以通过使用插件(例如ActiveX)来破解这些安全措施,但它不是单行的。

编辑:我认为您需要退一步思考一下广泛意义上的尝试。您正在尝试创建一个可以从用户的USB端口读取信息的网站。这是浏览器旨在阻止的类型,并且有充分的理由。我不希望随机网站在未经我明确许可的情况下访问外围硬件。如果您希望本网站以您期望的方式运行,您将不得不认真考虑安全隐患。您需要某种客户端代码(ActiveX,Silverlight,...),并且用户需要明确授予此权限才能实现这一切。这并不容易,也不会是自动的。而且我很高兴这是真的。

答案 2 :(得分:2)

你无法从网页上以每次浏览器都能运行的方式启动C#应用程序。但是,你可以有一些解决方法:

  • 使用读取客户端数据的ActiveX组件并将其上载到服务器。最大的缺点是它只能在Internet Explorer中使用
  • 使用在提升模式(v4)下运行的Silverlight客户端应用程序,并将数据上传到您的服务器。
  • 请您的客户下载应用程序(您编写的C#应用​​程序)并运行它 - 此应用程序会将数据上传到您的服务器。

希望这会有所帮助。