我有一台运行ASP .NET MVC 1.0 LINQ 2 SQL的LINQ to SQL抛出异常时的应力测试
我注意到一个很奇怪的问题与LINQ 2 SQL抛出异常(主要是指定投这个Web应用程序无效或序列包含多个元素)在一定的负载下。
更大的问题是,我不是在谈论真正的重型/职业压力测试......基本上我在做的是我打开FireFox和Chrome,并按住F5 10秒钟(我称这个穷人男人压力测试) - 瞧瞧;网络应用程序在接下来的两五分钟内随机抛出这些例外。如果我从IIS7重新启动应用程序(或者如果在Visual Studio下重新启动WebDev),那么立即全部恢复正常。没有发生任何事情
起初我怀疑我处理DataContext的方式,也许我应该在Global.asx的每个Application_End中处理它,但那并没有改变任何东西。
现在我有一个由所有请求使用的公共静态DataContext对象。我不会处理它或重新创建它。这是做到这一点的正确方法吗?我应该处置它吗?我应该什么时候处理它?
每个请求都会发生几件事 - 例如,在每个页面中,User对象(对于当前用户)从数据库加载,并且“LastSeen”属性更新为DateTime.Now。其他东西(例如标签云)被缓存。
任何想法为什么会发生这种情况?
你准确地得到了哪些例外?你介意在你的问题中包括他们,这可能会帮助人们了解什么是错的... – 2009-12-07 08:49:57