0

我正在使用 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。

提前致谢。

4

1 回答 1

0

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

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

于 2013-01-07T05:25:53.603 回答