【发布时间】:2013-08-09 14:03:05
【问题描述】:
我正在处理一个需要超过 2~3 小时才能完成的函数,但我在代码中发现了一些错误,我想停止执行已经在运行的函数。
无论如何要阻止这一切?
我已经使用新版本发布更新了 bin 文件夹,但旧版本仍在执行。 (我知道因为它每 20 分钟向我发送一封 keepalive 电子邮件)。
Obs.: 我试图杀死 dllhost.exe 进程,但我的用户没有权限(这是在生产中)。
【问题讨论】:
我正在处理一个需要超过 2~3 小时才能完成的函数,但我在代码中发现了一些错误,我想停止执行已经在运行的函数。
无论如何要阻止这一切?
我已经使用新版本发布更新了 bin 文件夹,但旧版本仍在执行。 (我知道因为它每 20 分钟向我发送一封 keepalive 电子邮件)。
Obs.: 我试图杀死 dllhost.exe 进程,但我的用户没有权限(这是在生产中)。
【问题讨论】:
您可以重新启动 IIS,这应该可以释放 dll。当然,这将重新启动该服务器上托管的所有其他站点。不确定是否有其他方法可以释放 dll。
【讨论】:
尝试重新启动 IIS 中的应用程序或仅重新启动应用程序池。 如果这不起作用,您可能会卡在重新启动 IIS 上。 您可能想考虑putting a timeout。如果它正在连接到数据库,您可以尝试终止数据库会话,这将导致 .net 错误。
【讨论】: