Asp.net 对端口“COM1”的访问被拒绝

Asp.net 对端口“COM1”的访问被拒绝,asp.net,Asp.net,我正试图打开COM1端口,但收到此错误消息:对端口“COM1”的访问被拒绝。我正在写一个通过.NET发送短信的程序。我预计可能会出现错误,但不应出现拒绝访问的错误。请给我任何解决办法。如果端口需要任何访问权限,那么我如何才能做到这一点?可能有另一个程序使用该串行端口。你试过启动超级终端吗?可能还有其他一些东西,使用COM1自动同步程序往往很难在COM端口可用时立即获取它们 尝试下载,它会准确地告诉您端口的用途。既然您标记了此asp.net,您是否尝试使用多个线程访问端口?就像在请求中一样,访问端

我正试图打开COM1端口,但收到此错误消息:对端口“COM1”的访问被拒绝。我正在写一个通过.NET发送短信的程序。我预计可能会出现错误,但不应出现拒绝访问的错误。请给我任何解决办法。如果端口需要任何访问权限,那么我如何才能做到这一点?

可能有另一个程序使用该串行端口。你试过启动超级终端吗?

可能还有其他一些东西,使用COM1自动同步程序往往很难在COM端口可用时立即获取它们


尝试下载,它会准确地告诉您端口的用途。

既然您标记了此asp.net,您是否尝试使用多个线程访问端口?就像在请求中一样,访问端口、创建连接、发送数据、关闭连接、关闭端口


如果你是,这也是一个问题。如果我没有弄错的话,一次只能有一个线程访问com端口。您需要编写一些代码,以确保在给定时间只有一个线程尝试访问端口。通常,我会建议一个队列和一个执行此任务的队列的工作进程。

首先,确保串行端口存在。检查设备管理器;右键单击我的计算机,从关联菜单中选择管理,选择设备管理器,展开端口Com和LPT。如果未列出Com1,则需要在BIOS中启用它

如果有COM1,则另一个程序将其保持打开状态。对COM1的访问是独占的;一次只能打开一个程序。传真软件或调制解调器可以打开,也可以自己打开


这很容易做到。如果您在一个打开端口的程序上工作而忘记关闭端口,或者如果发生错误并且程序在未关闭端口的情况下终止,则这是您下次尝试打开COM1时将收到的消息。只有打开端口的程序才能关闭它。Catch或Finally块是关闭端口并防止此情况发生的好地方。

如果您试图在IIS下使用ASP.Net,则运行网站的帐户可能没有设备权限,并且可能存在线程/多访问冲突问题。需要考虑的是,我要编写一个服务来管理COM端口的请求,然后与ASP.NET通信。这将允许拆分权限和对COM端口的受控单一访问。任何其他黑客都有可能造成许多问题

谢谢你的快速回复。我不尝试。我不知道怎么做,你能告诉我吗?这里太难描述了,请参阅此文档了解更多信息:如果我重新启动windows怎么办?