【问题标题】:Access to the port 'COM4' is denied拒绝访问端口“COM4”
【发布时间】:2013-01-06 14:28:07
【问题描述】:

我正在使用 arduino(一些微控制器),并制作了一个 ASP.net 页面来与它通信。我将arduino连接到串口COM4。当我运行 ASP.net 网站时,我收到以下错误:

异常详细信息:System.UnauthorizedAccessException:对端口“COM4”的访问被拒绝。

ASP.NET 无权访问请求的资源。考虑向 ASP.NET 请求标识授予对资源的访问权限。 ASP.NET 有一个基本进程标识(通常是 IIS 5 上的 {MACHINE}\ASPNET 或 IIS 6 和 IIS 7 上的网络服务,以及 IIS 7.5 上配置的应用程序池标识),如果应用程序不是模拟的,则使用该标识。如果应用程序通过 模拟,则身份将是匿名用户(通常是 IUSR_MACHINENAME)或经过身份验证的请求用户。

要授予 ASP.NET 对文件的访问权限,请在资源管理器中右键单击该文件,选择“属性”并选择“安全”选项卡。单击“添加”以添加相应的用户或组。突出显示 ASP.NET 帐户,然后选中所需访问权限的复选框。

现在我知道这听起来像是解决方案就在那里:“授予 asp.net 访问...”但我不知道他们在谈论什么文件! 那么请有人指出解决方案吗? PS:我首先做了一个 Windows 窗体应用程序,它工作。所以没有其他使用COM4。

提前致谢。

【问题讨论】:

  • 错误信息没有告诉你具体要做什么吗?

标签: asp.net iis serial-port


【解决方案1】:

忽略 Web 应用程序应该与服务器上的 COM 端口通信很奇怪,问题如下:默认情况下,IIS 中的 ASP.NET 应用程序在低权限用户下运行(如错误消息中所述) .不允许该用户访问该端口。
控制台应用程序在启动它的用户下运行。我假设那是您,并且您是计算机上的管理员。

要让 ASP.NET 执行相同的打开 IIS(开始 - 运行 - inetmgr),选择“应用程序池”,选择运行 Web 应用程序的应用程序池,单击“高级设置”,设置“身份” ' 字段给您的用户。 重新启动应用程序池并启动 Web 应用程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-31
    • 1970-01-01
    • 2021-10-21
    相关资源
    最近更新 更多