When I open a link from a barcode reader that calls an action on my site the controller is called twice and the session data is reset on the second call.
If I open a browser and paste the same URL directly into it, then the controller is only called once. If I follow the same link from an email the controller is only called once.
This is happening in Firefox, Chrome, and Safari on Android and iPhone. Any clues to why opening the browser from a link would force my website to load twice?
Edit: I've tried multiple barcode readers on iPhone and Android with the same result, the page loads twice even if it is stripped down. However, it is not happening in email links as originally stated. The email links went to a different page with a different problem, when directed to the same page as the barcode scan they do not load twice. I have corrected the info above to reflect this.
Edit 2: Here are the logs from my server for an iPad following a link in a barcode scanner. Note that the first two logs are the same except the last digit.
2016-01-29 13:19:34 69.94.136.16 GET /MyPage/ABCDEF - 80 - 24.62.217.163 Mozilla/5.0+(iPad;+CPU+OS+9_2+like+Mac+OS+X)+AppleWebKit/601.1.46+(KHTML,+like+Gecko)+Mobile/13C75 - 200 0 0 93
2016-01-29 13:19:34 69.94.136.16 GET /MyPage/ABCDEF - 80 - 24.62.217.163 Mozilla/5.0+(iPad;+CPU+OS+9_2+like+Mac+OS+X)+AppleWebKit/601.1.46+(KHTML,+like+Gecko)+Mobile/13C75 - 200 0 0 109
2016-01-29 13:19:34 69.94.136.16 GET /Scripts/jquery-2.1.1.min.js - 80 - 24.62.217.163 Mozilla/5.0+(iPad;+CPU+OS+9_2+like+Mac+OS+X)+AppleWebKit/601.1.46+(KHTML,+like+Gecko)+Mobile/13C75 http://example.com/MyPage/ABCDEF 200 0 0 328
Edit 3: Here is a fairly typical version for Android from the logs:
2016-01-29 13:14:28 69.94.136.16 GET /MyPage/ABCDEF - 80 - 77.234.44.145 ZXing+(Android) - 200 0 0 125
2016-01-29 13:14:47 69.94.136.16 GET /MyPage/ABCDEF - 80 - 77.234.44.145 Mozilla/5.0+(Linux;+Android+5.1.1;+VS985+4G+Build/LMY47V)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/47.0.2526.83+Mobile+Safari/537.36 - 200 0 0 109