tanliem653 Ответов: 1

Как дом читать штрих-код формы согласуются в ASP.NET


привет,
Я дом то сайте читал, что форма сканер штрих-кода согласуются и я нахожу источник в MSDN пишут на C# winform я не знаю, как я могу изменить, чтобы asp.net. Надеюсь, кто-нибудь сможет мне помочь. большое спасибо.
а вот код C# winform.


public partial class Form1 : Form  
{  
     SerialPort _serialPort;  
  
     private delegate void SetTextDeleg(string text);  
  
     private void Form1_Load(object sender, EventArgs e)  
     {  
           _serialPort = new SerialPort("COM1", 19200, Parity.None, 8, StopBits.One);  
           _serialPort.Handshake = Handshake.None;  
           _serialPort.DataReceived += new SerialDataReceivedEventHandler(sp_DataReceived);  
           _serialPort.ReadTimeout = 500;  
           _serialPort.WriteTimeout = 500;  
           _serialPort.Open();  
     }  
  
     private void btnStart_Click(object sender, EventArgs e)  
     {  
           try  
           {  
                if(!_serialPort.IsOpen)  
                     _serialPort.Open();  
  
                _serialPort.Write("SI\r\n");  
           }  
           catch (Exception ex)  
           {  
                MessageBox.Show("Error opening/writing to serial port :: " + ex.Message, "Error!");  
           }  
     }  
  
     void sp_DataReceived(object sender, SerialDataReceivedEventArgs e)  
     {  
          Thread.Sleep(500);  
          string data = _serialPort.ReadLine();  
          this.BeginInvoke(new SetTextDeleg(si_DataReceived), new object[] { data });  
     }  
  
     private void si_DataReceived(string data)  
     {  
           textBox1.Text = data.Trim();  
     }  
}  


Что я уже пробовал:

public partial class Form1 : Form  
{  
     SerialPort _serialPort;  
  
     private delegate void SetTextDeleg(string text);  
  
     private void Form1_Load(object sender, EventArgs e)  
     {  
           _serialPort = new SerialPort("COM1", 19200, Parity.None, 8, StopBits.One);  
           _serialPort.Handshake = Handshake.None;  
           _serialPort.DataReceived += new SerialDataReceivedEventHandler(sp_DataReceived);  
           _serialPort.ReadTimeout = 500;  
           _serialPort.WriteTimeout = 500;  
           _serialPort.Open();  
     }  
  
     private void btnStart_Click(object sender, EventArgs e)  
     {  
           try  
           {  
                if(!_serialPort.IsOpen)  
                     _serialPort.Open();  
  
                _serialPort.Write("SI\r\n");  
           }  
           catch (Exception ex)  
           {  
                MessageBox.Show("Error opening/writing to serial port :: " + ex.Message, "Error!");  
           }  
     }  
  
     void sp_DataReceived(object sender, SerialDataReceivedEventArgs e)  
     {  
          Thread.Sleep(500);  
          string data = _serialPort.ReadLine();  
          this.BeginInvoke(new SetTextDeleg(si_DataReceived), new object[] { data });  
     }  
  
     private void si_DataReceived(string data)  
     {  
           textBox1.Text = data.Trim();  
     }  
}  

[no name]

Это похоже на код C#, и вы не собираетесь волшебным образом менять его на ASP.NET. ASP.NET это не язык программирования.

1 Ответов

Рейтинг:
2

OriginalGriff

Вероятно, вы не можете: веб-сайт работает как клиент-серверный подход, и этот код-WinForms.
Проблема в том, что код C# на веб - сайте работает на сервере, а не на клиенте - поэтому он может получить доступ только к аппаратным ресурсам сервера и ожидает, что сканер будет подключен к COM-порту сервера-он не может получить доступ ни к одному сканеру, подключенному к клиенту. А поскольку пользователь сидит за клиентским компьютером за тысячу миль, он не может представить штрих-код сканеру для обработки.

Я думаю, вам нужно гораздо внимательнее взглянуть на то, что вы пытаетесь сделать: найти случайный код в интернете и надеяться, что он будет работать, потому что он написан на языке, который, как вы знаете, просто не будет работать.


tanliem653

Большое спасибо!

OriginalGriff

Пожалуйста!