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");
}