相关疑难解决方法(0)

完全取代ASP.Net的会话

ASP.Net会话看起来非常适合传统的WebForms应用程序,但它们会为现代AJAX和MVC应用程序做一些严重问题.

具体来说,只有3种方法可以访问ASP.Net提供者:

  1. 锁定读写(默认) - 会话被锁定,AcquireRequestState直到ReleaseRequestState触发为止.如果浏览器立即发出3个请求,他们将在服务器上排队.这是MVC 2中唯一的选择,但MVC 3允许......

  2. 非锁定只读 - 会话未锁定,但无法保存.这似乎是不可靠的,因为有些读取似乎再次锁定会话.

  3. 会话已禁用 - 任何读取或写入会话的尝试都会引发异常.

然而,对于一个现代的MVC应用程序,我有很多AJAX事件同时发生 - 我不希望它们在服务器上的队列,但我希望他们能够写入会话.

我想要的是第四种模式:脏读,最后写赢

我认为(很高兴得到纠正)唯一的办法就是完全取代ASP.Net的会话.我可以编写自己的提供程序,但ASP仍会使用它支持的3个模式中的一个调用它.有没有办法让ASP.Net支持乐观并发?

这使得我用一个基本上做同样事情的新类替换对会话的所有调用,但是没有锁定 - 这是一个痛苦.

我希望保留尽可能多的当前会话内容(最重要的是在各种日志中的会话ID),并且代码更换量最少.有没有办法做到这一点?理想情况下,我想HttpContext.Current.Session指向我的新类,但没有ASP.Net锁定任何请求.

有没有人做过这样的事情?看来奇怪的是,所有的AJAXey MVC应用程序都是ASP的一个新问题.

asp.net concurrency session session-state

45
推荐指数
1
解决办法
1万
查看次数

什么perfmon计数器可用于识别ASP.NET瓶颈?

鉴于此处的图表,我应该注意什么才能找出瓶颈?正如您所看到的,请求在负载下平均接近14秒,并且大部分时间归因于New Relic的分析数据中的CLR.在特定页面的性能细分中,它将大部分时间归因于WebTransaction/.aspx页面.

在负荷测试期间由新遗物捕获的统计数据

页面的统计信息

.net asp.net performance profiling newrelic

6
推荐指数
1
解决办法
2107
查看次数

ASP.NET Web窗体是否阻止双击提交?

我正在开发一个ASP.NET 4.0 Web Forms项目,经过大约5年的休息,我对提交行为感到困惑.

在按钮的单击事件中,我睡眠线程,以便我可以多次单击提交按钮.

据我所知,ASP.NET阻止了多次调用click事件.这是真的?

顺便说一句:我已经关闭了这个测试的javascript.

asp.net webforms form-submit double-submit-prevention

5
推荐指数
1
解决办法
3601
查看次数