aspnet_wp.exe自动重启

时间:2011-08-23 19:28:24

标签: asp.net iis machine.config

我们的网络应用程序位于.net 1.1上,我们有一些遗留代码,每隔几天就会挂起IIS。

我正在考虑修改machine.config设置以在每两天后重启aspnet进程,但问题是它会杀死正在进行的现有会话。我可以以某种方式避免它。

有没有更好的方法来应对这种情况?现在客户端每隔几天手动重启IIS。

谢谢, 甲

编辑: 如果你有   - 会话中不可序列化的对象,   - 无法使用sql-server

然后好的工作是使用“idleTimeout”。如果在指定的时间之前服务器上没有活动,它会关闭asp_net进程。在下一个请求中,它会生成asp_net进程。

2 个答案:

答案 0 :(得分:2)

我建议两件事:

  • 将应用程序配置为use SQL Server to store session data - 这样可以使会话数据在重新启动Web应用程序后继续存在
  • 将应用程序池配置为定期回收工作进程enter image description here

当然,更好的方法是将Web应用程序更新为最新的框架版本,同时修复问题以防止这种情况发生。

答案 1 :(得分:0)

你真的在Session中存储任何类型的数据吗?如果你这样做,它是Serializable吗?如果是,只需将Web.config更改为使用StateServer

您只需要通过转到控制面板自动启动ASP .NET状态服务 - >管理工具 - >服务并设置ASP .NET State Server以自动启动。

这将允许您重新启动aspnet_wp.exe进程而不会丢失会话信息;再一次,唯一的要求是你在会话中输入的信息是Serializable(如果你的代码没有做任何疯狂的事情,可能就是这种情况,或者至少应该很容易)