2010-08-29 5 views
0

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

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

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

Так что, пожалуйста, как я могу использовать приложения ASP.net для использования моих COM-интерфейсов?

Спасибо! Yvan

ответ

1

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

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

Edit:

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

+0

ничего более и я запускаюсь из Visual Studio. В настоящее время я использую emlated com port, перенаправленный на второй. На втором у меня есть гипертерминал. (Я не собираюсь отправлять какие-то случайные данные на машину € 7500;)) Я использую встроенные функции .net, а именно System.IO.Ports. – friedkiwi

+0

Hyperterminal запускает порт COM2 .... и имеет эксклюзивный доступ к нему ... как для System.IO.Ports есть проблемы с ним, события не срабатывают должным образом ... и неправильные таймеры ... – t0mm13b

+0

Я решил проблему, а не используя эту статью, но используя эту библиотеку: http://www.codeworks.it/net/VBNetRs232.htm. Теперь он работает, но мне придется использовать thread.sleep где-то в моем коде, так как устройство не отвечает так быстро. (350 мс ожидания) Спасибо за ваш ответ! Ивань – friedkiwi

Смежные вопросы