Работа с ActiveX без формы
Мне дали проект, в котором я должен использовать элемент управления ActiveX без формы.
Этот элемент управления activex принадлежит устройству обмена картами. Поэтому мне нужно создать службу отдыха, с помощью которой любой клиент браузера сможет получить доступ к данным, считанным с карты.
Поэтому я создал метод веб-сервиса, который создает новый поток sta, как только приходит запрос. В этой теме я создаю ActiveXcontrol, как показано ниже, и храню данные в статическом классе. Опять же для второго запроса я делаю то же самое.
try
{
axOPOSMSR1 = new AxOposMSR_CCO.AxOPOSMSR();
axOPOSMSR1.CreateControl();
if (axOPOSMSR1.Open("IDTECH_SECUREMAG_USBHID") == 0)
{
axOPOSMSR1.ClaimDevice(100);
axOPOSMSR1.DeviceEnabled = true;
axOPOSMSR1.DataEventEnabled = true;
axOPOSMSR1.DecodeData=true;
axOPOSMSR1.ParseDecodeData = true;
while (!Devicedisable && (axOPOSMSR1.Track1Data == ""))
{
}
axOPOSMSR1.ClearInput();
axOPOSMSR1.ReleaseDevice();
axOPOSMSR1.Close();
axOPOSMSR1.Dispose();
axOPOSMSR1.ContainingControl = null;
axOPOSMSR1 = null;
GC.Collect();
}
Впервые эта программа работает хорошо, но как только я делаю другой запрос (создаю другой поток), в (статический класс) ничего не сохраняется как данные.
Я делаю второй запрос после того, как первый был обслужен.
1 ответ
Что я понимаю о вашей проблеме:
- Вы создали объект класса Swiper с новым потоком.
- Теперь вы получаете доступ
Chipper
данные с использованиемWCF
оказание услуг.
У меня нет такого аппаратного устройства, но не могли бы вы поставить
Thread.sleep(10000);
после while
условие и скажите мне выход.