asp.net - 以前曾经访问过 ASP.NET 页面吗?
问题描述
ASP.NET 中是否有一种机制来检测页面是否曾被访问过?(不存储到数据库或应用程序对象)我在 IIS 上运行该站点。
localhost/page?a=1&b=2 - not visited
localhost/page?a=1&b=3 - not visited
localhost/page?a=1&b=2 - already visited!
PS如果有人访问过它,则应该进行检测。假设在查询字符串中生成了一些哈希:
localhost/page?a=83abd83de6514ba0a0e5ce620eb1d43e
我需要检查该哈希是否已被“使用”。
如何?对我来说,最简单的方法(不存储到数据库中)是找出带有这个查询字符串的页面是否曾经被打开过。
解决方案
有几种方法可以做到这一点:
- 如果您的 IIS 启用了访问日志,您可以分析它的访问日志
- 如果你在IIS之前有一个服务网关,你可以分析它的访问日志
- 如果你在IIS之前有一个nginx,你可以分析它的访问日志
- 如果你在 IIS 之前有 F5,你可以分析它的访问日志
- 如果你的应用在云端,你可以分析它的访问日志
- 如果这些日志没有足够的信息,你最好实现自己的日志类
- 你也可以尝试在redis中记录这些url(KV,或者hyper-log-log,或者bloom-filter,取决于你想要做什么)
推荐阅读
- regex - perl 多行问题:需要一个衬里来打印文件中字符串之前的最后一个匹配项
- java - Spring ReactiveCrudRepository ExistsQuery 方法返回 null
- html - 选择带有新行问题的选项
- sql - Hive SQL Cast 返回整数
- rust - From trait 实现可以是有损的吗?
- tensorflow - 使用按相关性排序的数据训练神经网络
- hyperledger-fabric - 用于生产级 Fabric 区块链业务解决方案的 Hyperledger Composer
- python - Tensorflow 为交叉熵输出 NaN
- python - AES-GCM 用于 Python 中的文件加密
- git - 私钥还是公钥?Github