Silverlight OOB Чтение данных COM-порта, полученных обработчиками событий, происходит сбой

Я пытаюсь прочитать данные сканера RFID с помощью Silverlight4. Я знаю, что могу это сделать, так как Silverlight4 поддерживает чтение COM-портов клиента в режиме OOB и использование повышенных разрешений.

RFID-сканер работает нормально, когда я читаю данные с помощью простого приложения win, однако, когда я делал то же самое с приложением silverlight, я получаю исключение, когда вызывается событие Datareceived, я понятия не имею, почему это происходит. ниже код у меня есть

PS: я использую приведенную ниже библиотеку для доступа к последовательным портам из silverlight https://interopcom.codeplex.com/

 private void button1_Click(object sender, RoutedEventArgs e)
    {
      if (Application.Current.IsRunningOutOfBrowser /*&& Application.Current.HasElevatedPermissions*/)
      {
          SerialPort sp1 = new SerialPort("COM7");
          sp1.BaudRate = 9600;
          sp1.Parity = Parity.None;
          sp1.StopBits = StopBits.One;
          sp1.DataBits = 8;
          sp1.Handshake = Handshake.None;
          sp1.DataReceived += new SerialDataReceivedEventHandler(sp1_DataReceived);
          sp1.Open();
          MessageBox.Show("opened");
      }
    }


    private static void sp1_DataReceived(object sender, SerialDataReceivedEventArgs e)
    {

      SerialPort sp2 = sender as SerialPort;
      MessageBox.Show(sp2.ReadLine());
      sp2.Close();
      MessageBox.Show("closed");
    }

0 ответов

Другие вопросы по тегам