2010-08-29 145 views
0

我写了一个Generic Handler,所以我可以通过javascript访问我的服务器的COM端口。使用ASP.net访问COM端口:访问被拒绝

我正在这样做,因为我正在从BOSE向ESP-88编写一个Web Interface,供内部使用。代码必须是可配置的,并且我添加了用于TCP/IP支持和RS232的例程。

在桌面应用程序中,代码运行良好,但在ASP.net 4.0应用程序中,代码崩溃,并显示错误“访问端口'COM2'被拒绝。”。 TCP/IP连接正常工作,但串行也是我们需要的。

请问,我该如何让ASP.net应用程序使用我的COM接口?

谢谢! Yvan

回答

1

听起来就像是权限的情况,正在处理ASP.NET页面的IIS服务器没有打开COM端口所需的权限....作为一个感兴趣的问题你在用什么与COM端口进行通信?

另一个线索是“访问端口被拒绝”似乎表明还有别的东西在运行。这意味着,串口是独占访问而已,只有一个进程可以在任何时间访问串行端口....

编辑:

周围挖之后,我觉得这个环节可能是最好的解决方案,以解决“拒绝在COM2上访问”,通过使用钩子并将其挂入...我没有阅读article,但它看起来像你正在寻找的那个...

+0

没有别的运行,并且我从Visual Studio中运行。我目前使用emlate com端口,重定向到第二个。在第二个我有超连接。 (我不会将一些随机数据发送到€7500机器;)) 我正在使用.net的内置函数,即System.IO.Ports。 – friedkiwi 2010-08-29 20:24:56

+0

超级终端占用了COM2端口....并且拥有对它的独占访问权限...对于System.IO.Ports,它存在问题,事件没有正确触发...以及错误时间... – t0mm13b 2010-08-29 20:29:03

+0

我解决了这个问题,不是使用这篇文章,而是使用这个库:http://www.codeworks.it/net/VBNetRs232.htm。 它现在有效,但我不得不在我的代码中的某处使用thread.sleep,因为设备不会很快响应。 (350ms等待) 感谢您的回答! 伊万 – friedkiwi 2010-08-30 09:46:05