【问题标题】:IIS + ASP.NET + Multiple sessions each minute with random session idIIS + ASP.NET + 每分钟多个会话,带有随机会话 ID
【发布时间】:2015-05-24 01:41:34
【问题描述】:

我的 IIS 每分钟都会使用不同的会话 ID 启动一个新会话,如下所示:

2015-05-24 02:05:48,284 WARN  [5gs1h5biysgaovwgxclzoa53 - ] Session_Start (): 24-05-2015 02:05:48, ID=5gs1h5biysgaovwgxclzoa53
2015-05-24 02:06:48,289 WARN  [i2cw11dcyc444agufblzqw3t - ] Session_Start (): 24-05-2015 02:06:48, ID=i2cw11dcyc444agufblzqw3t
2015-05-24 02:07:48,290 WARN  [x4d2dqekamnmbqtwcb1xugzv - ] Session_Start (): 24-05-2015 02:07:48, ID=x4d2dqekamnmbqtwcb1xugzv
2015-05-24 02:08:48,275 WARN  [upllvlwizdkrxzdy4tql3skn - ] Session_Start (): 24-05-2015 02:08:48, ID=upllvlwizdkrxzdy4tql3skn
2015-05-24 02:09:48,293 WARN  [olf30h2lhy1wjynkwuixi3ko - ] Session_Start (): 24-05-2015 02:09:48, ID=olf30h2lhy1wjynkwuixi3ko
2015-05-24 02:10:48,283 WARN  [qyqauweqaygcb1ihmptntmzw - ] Session_Start (): 24-05-2015 02:10:48, ID=qyqauweqaygcb1ihmptntmzw
2015-05-24 02:11:48,304 WARN  [nkbijfuwgwmblcsvqhyjrx01 - ] Session_Start (): 24-05-2015 02:11:48, ID=nkbijfuwgwmblcsvqhyjrx01
2015-05-24 02:12:48,293 WARN  [ahz35qnkdgdsp02ggutbgkja - ] Session_Start (): 24-05-2015 02:12:48, ID=ahz35qnkdgdsp02ggutbgkja
2015-05-24 02:13:48,300 WARN  [xym3aeiiwo0z5m00t0mmying - ] Session_Start (): 24-05-2015 02:13:48, ID=xym3aeiiwo0z5m00t0mmying
2015-05-24 02:14:48,285 WARN  [ihkhdun0vdiddndptascmhww - ] Session_Start (): 24-05-2015 02:14:48, ID=ihkhdun0vdiddndptascmhww
2015-05-24 02:15:48,300 WARN  [43aa5kqyilwp1faehxc13dgm - ] Session_Start (): 24-05-2015 02:15:48, ID=43aa5kqyilwp1faehxc13dgm
2015-05-24 02:16:48,280 WARN  [egcdnwzieqozkfoj2ocwy0x2 - ] Session_Start (): 24-05-2015 02:16:48, ID=egcdnwzieqozkfoj2ocwy0x2
2015-05-24 02:17:48,278 WARN  [svbpgdm5birqzejfqiatmd0h - ] Session_Start (): 24-05-2015 02:17:48, ID=svbpgdm5birqzejfqiatmd0h
2015-05-24 02:18:48,268 WARN  [v3ejvlkmsilwvw0x4ir1p3ys - ] Session_Start (): 24-05-2015 02:18:48, ID=v3ejvlkmsilwvw0x4ir1p3ys
2015-05-24 02:19:48,293 WARN  [ge1z4csva4haxwlq0wtc0zyw - ] Session_Start (): 24-05-2015 02:19:48, ID=ge1z4csva4haxwlq0wtc0zyw
2015-05-24 02:20:48,288 WARN  [qkmvkk20xgohntlcjf5bwtn4 - ] Session_Start (): 24-05-2015 02:20:48, ID=qkmvkk20xgohntlcjf5bwtn4
2015-05-24 02:21:48,259 WARN  [hvncho3ievxogpwp20gtkhhh - ] Session_Start (): 24-05-2015 02:21:48, ID=hvncho3ievxogpwp20gtkhhh
2015-05-24 02:21:52,195 WARN  [0l3b3nhpcowsf0q5xogiehq1 - ] Session_Start (): 24-05-2015 02:21:52, ID=0l3b3nhpcowsf0q5xogiehq1
2015-05-24 02:22:48,269 WARN  [ppqf2nvcazbfdjid0210thvh - ] Session_Start (): 24-05-2015 02:22:48, ID=ppqf2nvcazbfdjid0210thvh
2015-05-24 02:23:48,259 WARN  [q1zk5sh11hajiqjcosirvwdo - ] Session_Start (): 24-05-2015 02:23:48, ID=q1zk5sh11hajiqjcosirvwdo
2015-05-24 02:24:48,285 WARN  [rkmo5fuekm1xzh2kssgl0bsi - ] Session_Start (): 24-05-2015 02:24:48, ID=rkmo5fuekm1xzh2kssgl0bsi
2015-05-24 02:25:48,270 WARN  [t1i3k5nf1oj0ck2xs42f5hay - ] Session_Start (): 24-05-2015 02:25:48, ID=t1i3k5nf1oj0ck2xs42f5hay
2015-05-24 02:26:46,791 WARN  [ewi5nrnrskiepuy3npmfn4tc - ] Session_Start (): 24-05-2015 02:26:46, ID=ewi5nrnrskiepuy3npmfn4tc
2015-05-24 02:26:48,281 WARN  [wtqawkfrbpr4wrhvciju1ztr - ] Session_Start (): 24-05-2015 02:26:48, ID=wtqawkfrbpr4wrhvciju1ztr
2015-05-24 02:27:48,277 WARN  [uwistkkip1t4qqbcnxkbrp0y - ] Session_Start (): 24-05-2015 02:27:48, ID=uwistkkip1t4qqbcnxkbrp0y
2015-05-24 02:28:48,266 WARN  [kwqwgubrc5v5uf0kibm5dew5 - ] Session_Start (): 24-05-2015 02:28:48, ID=kwqwgubrc5v5uf0kibm5dew5
2015-05-24 02:29:44,361 WARN  [equu33nbxkmuvh4akwcmzl4v - ] Session_Start (): 24-05-2015 02:29:44, ID=equu33nbxkmuvh4akwcmzl4v
2015-05-24 02:29:48,272 WARN  [mjki2onf1cvoznblfhkgnpko - ] Session_Start (): 24-05-2015 02:29:48, ID=mjki2onf1cvoznblfhkgnpko

一段时间后,所有会话同时结束。 有谁知道为什么?谁来阻止这种情况?我创建了另一个重复的站点,具有相同的配置,但没有发生这种情况。

【问题讨论】:

  • 更多信息。这是在您本地的开发环境中吗?生产?你有负载均衡器吗?
  • 如果都是同时结束的,你看看是不是因为应用池回收的原因?您是否已确认没有匹配的网站命中,可能是机器人或服务正在 ping 该网站以查看它是否可用?
  • @cesarfaria 建议您在日志条目中获取更多详细信息。客户端 ip 和调用栈
  • 您可以将默认回收设置为0,但是如果需要,IIS仍然会回收它,例如使用过多内存的情况(会话是一个很好的原因)一个dll中的错误那是未捕获的,等等。检查 IIS 中的日志以查看网络上是否有某些东西正在 ping 端口 80 上的服务器。可能正在扫描某些东西以确保网络是健康的。如果会话打开,将始终为请求创建会话,如果该请求没有将 cookie 传回,它将继续创建新会话,因为它认为请求来自新源。
  • @MarkFitzpatrick 很好的建议。需要知道是谁/什么发出请求以及为什么它不发送会话 cookie。是否有阻止 asp.net 启动会话的魔法值?

标签: asp.net session iis


【解决方案1】:

感谢您的 cmets,我找到了导致这些会话开始的原因:

2015-05-24 04:17:48,130 警告 [rskvci3lyd05zfml0h2myee1 - - IP:10.2.1.78 - Mozilla/5.0(兼容;PRTG 网络监视器 (www.paessler.com); Windows)] Session_Start (): 24-05-2015 04:17:48, ID=rskvci3lyd05zfml0h2myee1

我们的客户有一个网络监视器,每分钟检查一次,导致会话开始。

我使用这个布局得到了上面的结果:

    <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date %-5level [%aspnet-request{ASP.NET_SessionId} - %identity - IP:%aspnet-request{REMOTE_ADDR} - %aspnet-request{http_user_agent}] %message%newline"/>
    </layout>

【讨论】:

  • 为什么不给您的客户一个页面来监控不使用会话状态的页面?
  • 您可以发布您用来获取此日志条目的 log4net 格式吗?
  • @JohnSaunders 谢谢,我会听从你的建议的。
  • 在我的例子中,一个机器人 (SEMrushBot) 正在检查网络应用程序。
【解决方案2】:

更新 web.config 中的超时时间,并在编程端添加属性 session.expires="milliseconds";

【讨论】:

    猜你喜欢
    • 2011-05-09
    • 2011-10-17
    • 1970-01-01
    • 2010-10-20
    • 2017-05-17
    • 1970-01-01
    • 1970-01-01
    • 2011-01-14
    • 1970-01-01
    相关资源
    最近更新 更多