![]() |
1
9
这似乎有效:
你提到卸载事件太快了,但我觉得它是正确的时间。您只需要手动关闭连接。脸红似乎也是强制性的,这有点奇怪,因为我认为当你关门时,脸红是隐性的。 这可能有一些缺点,因为它使处理请求的进程一直很忙,无法处理下一个HTTP请求。然而,iis7对同时请求的数量有一个可配置的限制。你想要简单,我认为这是最简单的。 |
![]() |
2
3
您是否考虑过创建一个日志记录服务,它将一个消息队列记录下来,并只在自己的线程中执行日志记录? 使用此方法,您可以将所有日志记录保留在代码中以前的位置,并且只对日志记录方法进行异步调用。 |
![]() |
3
1
您正在寻找一个异步进程。Ajax允许这样做以及其他实现。搜索async和asp.net,你会发现大量的资源。 基本上,当用户界面继续呈现时,网页会启动并在单独的线程中运行进程。 |
![]() |
4
1
在记录之前,尝试对响应流调用flush。在发送整个响应之前,不会激发卸载。如果在那里刷新(),然后记录,那么它应该是页面所做的最后一件事情。 效果应该是用户看到了页面,但直到日志完成后才完成加载。但是他们可以与页面交互,所以他们可能不在乎。 |
![]() |
5
1
这在异步线程中是可能的。 我们为客户创建了一个页面,该页面每2分钟检查一次是否有更新,如果有,我们会更新该页面。 也许这个方法可以帮助你: http://www.eggheadcafe.com/articles/20060918.asp 希望能帮到你 |
![]() |
6
0
不要将其记录到日志中,而是从中创建一个字符串(使用StringBuilder),并将整个字符串推向日志的末尾。
如果由于异常而无法加载页面,则可能会丢失日志记录。
|
![]() |
7
0
它是什么样的伐木,它要去哪里? 一种方法可能是分离另一个线程(您需要增加ASP.NET可用的线程数量)并在其中执行登录。您可以使用参数化的threadstart并传递一个用于日志记录的对象。(不过,不要传递数据库连接/命令对象,那会很糟糕!) |
|
JoeJoe · Python 2.7:终止最后一个后台进程 7 年前 |
![]() |
Oliver Frost · 使用线程在后台持续运行的函数? 7 年前 |
![]() |
Dem Pilafian · 从npm脚本在后台运行http服务器 7 年前 |
![]() |
Jackson_DKMG · Python:从后台进程启动后台进程 7 年前 |