我正在尝试使用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");
}