我正在尝试使用 Silverlight4 读取 RFID 扫描仪的数据。我知道我可以这样做,因为 Silverlight4 支持在 OOB 模式下读取客户端 COM 端口并使用提升权限。
当我通过简单的 win 应用程序读取数据时,RFID 扫描仪工作正常,但是当我对 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");
}