ASP.NET页面记日志的问题,文件老是被占用,如何解决?

windstore 2010-03-05 11:04:09
应用场景是这样的,有个asp.net页面,当用户请求的时候,会记录到日志中,现在我的做法是直接写入到日志文件中。可问题来了,当用户并发量高的时候,日志文件老被占用,导致日志有部分写不进去。

我的想法是来一个请求的时候,把写日志操作插入线程池,用线程池来执行写文件操作。但是一想也不行,这样会把线程池占满,而线程池没处理完的时候,也会丢失一部分日志。

还有一个办法是丢入MSMQ,然后用另一个线程持续读取msmq写入日志。但是在这样太麻烦了。像log4net是怎么处理这个高并发请求日志的,请高人指点?
...全文
285 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
windstore 2010-03-07
  • 打赏
  • 举报
回复
这么说,我就用log4net了、、
aofengdaxia 2010-03-07
  • 打赏
  • 举报
回复
多线程放置资源冲突。设置一个全局的singleton变量。然后在读的时候锁死。
zming 2010-03-07
  • 打赏
  • 举报
回复
想不明白,为什么不直接使用 log4net ???

windstore 2010-03-06
  • 打赏
  • 举报
回复
我这个页面要求快速响应的,写数据库必然会浪费个几秒时间。 这样的方法貌似不行的
winner2050 2010-03-06
  • 打赏
  • 举报
回复
写进数据库里面算了。

就为个日志功能开发出高并发的功能不值得。
andy796746 2010-03-06
  • 打赏
  • 举报
回复
在项目里添加一个Global.asax项,在这里可以处理用户访问的并发问题。
kaizi_sun 2010-03-06
  • 打赏
  • 举报
回复
没睡的帮你顶下:)回复内容还短啊
wuyq11 2010-03-06
  • 打赏
  • 举报
回复
log4net
在大并发的情况下很好的解决了写入同一文件的问题.
winner2050 2010-03-06
  • 打赏
  • 举报
回复
引用 4 楼 windstore 的回复:
我这个页面要求快速响应的,写数据库必然会浪费个几秒时间。 这样的方法貌似不行的


绝对不会慢。
windstore 2010-03-06
  • 打赏
  • 举报
回复
没人指点帮我顶一下也成啊
  • 打赏
  • 举报
回复
是啊,数据库吧,就多一张表而已
windstore 2010-03-06
  • 打赏
  • 举报
回复
请假高人指点下呀。。。。。。
windstore 2010-03-05
  • 打赏
  • 举报
回复
都睡了?都睡了?回复内容太短了!
MYIIS-VIF一个为弥补IIS自身功能不足而编写的一个智能IIS多功能软件,它能将IIS本身不具备的多个功能集合在自己身上。用户可以有选择性的进行使用,无论你的IIS是安装使用的何种脚本VIF都支持。该软件主要面向为拥有IDC服务器或者拥有独立服务器的使用者,为你营造安全稳定的IIS环境! 软件在最开始设计的时候,选择的是一种多功能集成于一身的设计模式(不是科班出身的就这结果),所以请站长们都选择性的启动软件功能就可以了。需要什么功能配置什么功能就可以了。不会影响服务器速度。在如今云时代,人手一个VPS,你的站你自己也可以成为一个出色的安全专家。MYIIS-VIF软件的主要特色: 1.sql注入拦截,get post cookies. 可以自己定义拦截输出。 2.出错页面的定制,你可以自定义出错页面的展示,从另外一个层面上增加了注入的门槛,建议站长开起。 3.CC拦截防护。CC攻击总是以无止境的耗费服务器各种资源为目的。感谢之前帮我测试过CC的群友们,特别感谢 fish. 4.其他站长可能用到的功能:防盗链,防迅雷镜像,IIS核心级别的URL重写,IP拦截屏蔽,站点线程,服务器伪装以及基础的非法关键字拦截屏蔽等等… 软件CHANGELOG: 相比之前的收费版本,从这个版本起功能都没有删减过,反而4.5.2的版本修正了几个小Bug,使系统更稳定。详细内容如下: 1. 合并了之前的ISAPI EXTENTED DLL模块到Virtualiisfirewall的IsApi Filter模块,使之成为IIS双接口,使各种关键数据得以共享。速度,更快,更稳定。 2.去掉了之前收费软件的各种认证校验,软件免费,只需要激活就可以了。(为何要激活?) 3.统一了官网软件里的URL地址,为网站将来应对大流量做准备。 4.将Alert目录里的各种文本文件里的广告Js去掉,让大家可以安心使用。 5.打包统一为exe形式,方便下载就安装,缩减了安装包的大小. 软件适用平台为: windows 2003 server for 32bit/windows 2008 32bit (请安装isapi模块) 激活码: A3EL-ADTE-HXAJ 由于免费且功能强大,很多软件下载站都使用他来作为防盗链。此次更新的就是官方网站的免费版本了。 VIF〔Virtual IIS Functions〕 一个为弥补IIS自身功能不足而编写的一个智能IIS多功能软件,它能将IIS本身不具备的多个功能集合在自己身上。用户可以有选择性的进行使用,无论你的IIS是安装使用的何种脚本VIF都支持。该软件主要面向为拥有IDC服务器或者拥有独立服务器的使用者,为你营造安全稳定的IIS环境! VIF现有功能(更多的功能尚未介绍) 防盗链 〔超级防盗链第二代技术〕 高效而简单的防盗链技术,能让你最快最稳定最傻瓜的对服务器资源进行防盗。取代互联网上一切防盗软件,率先提供通配符功能,能让你明确控制某个站某个端口的防盗。同时提供的超级防盗与1分钟静态防盗更是站长们最喜欢的功能,可以防护p2sp! 注入防护 傻瓜而简单的防护注入,一个按纽即可全站保护,能自定义保护参数,从系统级别屏蔽黑客入侵。支持GET与POST注入防护。 限制区 限制下载方式,限制下载软件等对网站的压力,减少非IE用户对网站的访问冲击。减少.net等多种采集工具给你带来的烦恼。 URLRewrite 目前,大部份站点采用,isapi-rewrite litte与Asp.net来实现URL重写,MYIIS-VIF能提供细化到域名站点的重写策略,一次加载,多次使用,使URL 的内部转化接近0,同时能不重新启动IIS的情况下使配置生效(同样适合用MYIIS-VIF的一切配置)。能自动导入isapi-rewrite格式的配置文件,更加方便实用。 CC攻击防护 从应用程上对CC攻击进行防护,独特的两种方式方式:1,MYIIS-VIF核心处理式2,拦截代理式。你无需编写任何代码,即可轻松实现IIS的CC防护与拦截。外加驱动底层协助,让CC防护更加得心应手。 站点线程管理 简单的添加一个规则,则可实现IIS的站点线程控制与管理,防护恶意下载软件对你的站点进行资源偷袭。将更多的带宽资源留给正常用户。线控精准,支持文件类型线程与IP的绑定操作。更加人性化。 IP限制 率先实现的,在Web层面上对访问者进行系统级别的屏蔽,与CC拦截,SQl 注入功能内部配置通讯交互,超越IIS自身的IP限制功能。能批量添加Ip屏蔽地址。结合驱动拦截更加底层,让对方无法”接触”的服务器。 反下载资源镜像 最早实现了P2SP的镜象资源拦截技术,使你的下载资源站点不被其他下载软件非法镜象。您的服务器资源还在被其他人无故占用吗?你可能被p2sp镜像下载连接了。 服务器伪装 你的服务器是IIS,我们能把它伪装成为Linux服务,当然你也可以把它伪装成其他类型的服务器。超级简单,让菜鸟黑客尽早远离你的系统。保护了系统安全。 关键字拦截 简单的关键字拦截系统能让您的服务器接受中英文的词语提交拦截,让你的服务器更加安全可靠,顺利渡过每天。高速的关键字拦截系统,瞬间秒杀非法信息与关键字。 IIS0DAY拦截 您的服务器安全做的再好,遇到了0DAY怎么办,尽管我们没有0Day,但是我们会竭尽全力的通过安全公告的内容为用户制定出最好的防护方案。 日志系统 软件都为你做了什么,通过日志系统让你看的清清楚楚,明明白白。以上所有内容都可以提供MDB日志核查。通过分析日志系统你还可以得到你最想要的关键信息。 

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧