来自外部应用程序时,asp.net控制器调用两次

时间:2016-01-25 22:18:50

标签: android asp.net iphone redirect controller

当我从条形码阅读器打开一个链接,该链接在我的站点上调用一个动作时,控制器被调用两次,会话数据在第二次调用时被重置。

如果我打开浏览器并将相同的URL直接粘贴到其中,则只调用一次控制器。如果我从电子邮件中按照相同的链接,控制器只被调用一次。

Android和iPhone上的Firefox,Chrome和Safari都会发生这种情况。有关为什么从链接打开浏览器的任何线索会强制我的网站加载两次?

编辑:我已经在iPhone和Android上尝试了多个条形码阅读器,结果相同,即使被剥离,页面也会加载两次。但是,它不会像最初声明的那样在电子邮件链接中发生。电子邮件链接转到具有不同问题的不同页面,当指向与条形码扫描相同的页面时,它们不会加载两次。我已经纠正了上面的信息以反映这一点。

编辑2 :以下是我的服务器上的条形码扫描仪链接后的iPad日志。请注意,除最后一位数外,前两个日志相同。

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 +喜欢+ 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 +喜欢+ 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

编辑3:以下是日志中相当典型的Android版本:

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

2 个答案:

答案 0 :(得分:1)

我找到了来这里寻找的其他人的问题。事实证明条形码阅读器正在调用GET,因此他们可以获取页面并向用户显示其标题(也许他们也会因其他原因而获得它)。

因此,当用户关注链接时,页面会被读者和用户调用。这就是为什么没有图像或缺少链接的页面会从条形码阅读器加载两次。

答案 1 :(得分:0)

首先检查您网页上的引用,也许他们正在执行第二次请求 - 例如,如果您使用空路径的css或脚本引用。最简单的测试方法是使用" Helloo"设置一个简单的视图。文本,并尝试从链接或Android应用程序打开。