VIC and background visit processing problems
Problem
A workstation is configured with VIC running as a service. The workstation has a barcode scanner configured with a virtual serial port for background visit check-in. There is a user ID in RecTrac that has the required Input profile linked to connect the scanner for use with the Pass Visit Processing program. When logging in to RecTrac and trying to scan passes through Visit Processing, scan data does not appear immediately or at all. Sometimes it takes two minutes for one swipe to appear in the visit DataGrid.
Solution
Note: This issue was addressed with the release of RecTrac 3.1.05.09. In the event you are running RecTrac 3.1.05.08 or previous, refer to the solution below.
The reason the background visit checkin program was not connecting to the serial barcode scanner was because the Pass Visit Processing program was set to 'Auto Open' which is an optional setting configured through Menu Management to automatically launch this program when the swipe user signs in to RecTrac. The Pass Visit Processing program was starting before VIC completely initialized. After disabling the Auto Open function on the Pass Visit Processing button and logging into RecTrac again and starting this program manually, the expected messages were in the VIC log and background visit swipes consistently worked in real time.
In the VICService Windows Event Viewer log, there were numerous entries similar to below:
Warning (0-0041) The Browser Terminated The Connection before The Response Could be Returned. Device Data will be attempted for 10 seconds (longpolling). Response String:jQuery111207780934090654497_1458739304809({''action'':''timeout''});'
In addition to that, there were not the expected 'long polling' communication messages in the VICService log similar to below:
60375305 - Request Started on new Thread For: /RecTrac?callback=jQuery11120564239987622581_1458759598689&LongPolling=30000&SessionID=a7118238-81c8-f2a3-0c14-ad537466b60d&_=1458759598707
There was also no messages to be found in the log stating that the connection was made to the COM port being used when the Pass Visit Processing program was started, similar to below:
38781473 - New Event Subscription:DataArrived localhost:com1 For LocalEndPoint:127.0.0.1:65120
38781473 - The program: VisitProcessing Start Will Be Run For Device:FRONTDESKPC:com1