Silverlight OOB读取COM端口数据收到的事件处理程序崩溃

时间:2015-05-07 12:22:46

标签: c# serial-port rfid silverlight-oob posiflex

我正在尝试使用Silverlight4读取RFID扫描仪的数据。我知道我可以这样做,因为Silverlight4支持在OOB模式下读取客户端COM端口并使用提升权限。

当我通过简单的win应用程序读取数据时,RFID扫描仪工作正常但是当我使用silverlight应用程序执行相同操作时,在调用Datareceived事件时我得到异常我不知道为什么会发生这种情况。下面是我的代码

P.S:我正在使用以下库来访问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");
    }

enter image description here enter image description here

0 个答案:

没有答案