доступ к COM-порту с помощью ASP.net: доступ запрещен

Я написал универсальный обработчик, поэтому я могу получить доступ к COM-порту моего сервера через javascript.

Я делаю это, потому что пишу веб-интерфейс для ESP-88 от BOSE для внутреннего использования. Код должен быть настраиваемым, и я добавил подпрограммы для поддержки TCP / IP и RS232.

В настольном приложении код работает нормально, но в приложении ASP.net 4.0 происходит сбой кода с ошибкой «Доступ к порту COM2 запрещен». Соединения TCP / IP работают, но нам также требуется серийный номер.

Итак, пожалуйста, как мне разрешить приложениям ASP.net использовать мои COM-интерфейсы?

Спасибо! Иван


person friedkiwi    schedule 29.08.2010    source источник


Ответы (1)


Похоже, что это случай разрешений, сервер IIS, который обрабатывает страницы ASP.NET, не имеет прав, необходимых для открытия COM-порта .... интересно, что вы используете для связи с COM-портом ?

Другая подсказка - «Доступ к порту запрещен», похоже, предполагает, что что-то еще работает. Это означает, что последовательные порты имеют только монопольный доступ, и только один процесс может получить доступ к последовательному порту в любой момент времени ....

Изменить:

Покопавшись, я думаю, что эта ссылка может быть лучшим решением в том смысле, чтобы обойти «Доступ запрещен на COM2», используя крючки и подключив их ... Я не читал article, но похоже, что вы ищете ...

person t0mm13b    schedule 29.08.2010
comment
больше ничего не работает, и я работаю из Visual Studio. В настоящее время я использую emlated com-порт, перенаправленный на второй. Ко второму у меня прикреплен гипертерминал. (Я не собираюсь отправлять какие-то случайные данные на машину стоимостью 7500 евро;)) Я использую встроенные функции .net, а именно System.IO.Ports. - person friedkiwi; 30.08.2010
comment
Hyperterminal загружает порт COM2 ... и имеет эксклюзивный доступ к нему ... что касается System.IO.Ports, с ним возникают проблемы, события не запускаются должным образом ... и задержки ... - person t0mm13b; 30.08.2010
comment
Я решил проблему не с помощью статьи, а с помощью этой библиотеки: codeworks.it/net /VBNetRs232.htm. Сейчас это работает, но мне пришлось использовать thread.sleep где-нибудь в моем коде, поскольку устройство не отвечает так быстро. (Ожидание 350 мс) Спасибо за ответ! Иван - person friedkiwi; 30.08.2010