问题标签 [application-pool]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
17360 浏览

iis-7 - 使用 MSDeploy 为包设置应用程序池

我正在使用 MSDeploy 部署一个网站,所以使用类似下面的代码。

无论如何设置应用程序池?我想从命令行执行此操作,而不是将其设置在清单或类似的东西中。

没关系,但这是在 IIS7 中。

0 投票
1 回答
3239 浏览

asp.net - Asp.Net App Pool 重叠回收时机?

尽我所能判断工作进程何时回收:

a) 一个新的在旧的关闭之前启动 b) 一旦所有的活动请求它的服务完成,旧的就会关闭

以上准确吗?

如果是这样,一旦 Application_End() 从 global.ascx 文件中触发,我就会将数据存储在 SQL 中。当 Application_Start() 触发时,我将这些数据拉回。

问题基于我的测试,新的工作进程在我的旧工作进程有机会完成其 Application_End() 之前触发 Application_Start()。

处理这种情况的最佳做法是什么?

提前欢呼

编辑:我刚刚注意到 IIS 7 '禁用重叠回收'的一个功能 - 我猜这是最好的路线

0 投票
1 回答
2234 浏览

.net - 回收应用程序池时强制应用程序启动的最佳方法是什么?

我想知道是否有一种方法可以在该站点的应用程序池被回收时自动启动该网站/应用程序的应用程序启动?

这个问题有什么罐头解决方案吗?

我真的很想避免让我的一位最终用户必须通过网站的应用程序启动,如果他们可以避免的话。

0 投票
2 回答
1797 浏览

iis - IIS AppPool 回收后自动重启网站

我正在使用一个与 SQL Server 代理交互的网站,以便安排报告的自动处理和电子邮件发送。我最近注意到,当 AppPool 回收时,我之后不会收到报告 - 直到有人再次登录该网站。网站可能数小时/数天都不会受到攻击,在此期间所有计划任务都会丢失。

我想设置一个 Windows 任务来定期运行或触发 AppPool 回收事件。但我不确定任务应该是什么。我有一个建议是设置一个 Windows 任务来执行一个可以访问网站的 .js 脚本,但这仅适用于 Windows 身份验证(未使用):

寻找一些关于如何在 IIS AppPool 回收后“唤醒”网站的建议。

谢谢。ab。

0 投票
2 回答
1851 浏览

asp.net - 常见的 ASP.NET 间歇性挂断

最近,我们在 ASP.NET 应用程序中遇到了一些奇怪的间歇性问题。这些问题包括:

  • 静态变量未初始化
  • 后台线程中止
  • (InProc) 会话状态丢失

奇怪的是,这些问题大约每 30 小时发生一次。“奇怪,”我们想……

好吧,我相信你们中的一些人在想,“对我来说,这听起来像是一个应用程序池回收属性。” 你是对的。我们的应用程序池设置为默认值 1740 分钟,然后它会自动回收导致我们丢失状态、静态等。

所以我的观点是,在 IIS、ASP.NET 中有一些东西会导致间歇性挂断。你遇到过哪些事情?

开始,

修改 web.config 文件可能会导致应用重新启动,这将导致所有会话结束(当您使用 InProc 模式时)。

非常感谢,

0 投票
1 回答
1703 浏览

sql-server - IIS 应用程序池和 Sql Server Windows 身份验证

我有一个在 IIS 中运行的应用程序,在具有 SQL Server 访问权限的用户下运行的应用程序池中。

不过,Windows 身份验证似乎并没有获取用户的帐户。


关于如何进行此操作的任何想法?真的很混乱

0 投票
4 回答
23374 浏览

windows - 使用 New-WebAppPool 时如何设置 .NET Framework 版本?

我正在寻找如何使用 IIS PowerShell Cmdlet New-WebAppPool来指定要使用的 .NET Framework 版本。目前,它默认为 v2.0,但是我使用的是 MVC,这将不起作用,因为这是 v4.0 的功能。我们真的希望每个站点都有自己的应用程序池,而且由于无法通过脚本配置它们,我们似乎必须手动创建这些池。有什么办法可以自动化吗?

恐怕答案将是“你不能”,因为文档似乎没有提供任何设置参数,而谷歌正在蹲下;它给我的印象是,仅以脚本方式设置站点是可以接受的,而有关配置应用程序池的一些事情只是“未完成”。我无法想象为什么不 - 如果您要自动化流程的一个主要部分,为什么不能自动化另一主要部分?

任何可能对如何通过 PowerShell 执行此操作有所了解的人都会对我有很大帮助。

0 投票
3 回答
572 浏览

.net - 如果生成的线程仍在工作,则保持 web 服务处于活动状态

我有一个 web 服务,它会被每晚的作业处理文档调用,每个文档都将在它自己的后台处理器上排队和执行。这个过程可能需要几个小时或几个小时,具体取决于负载。如果它什么都不做,我不想让它活着。但是当产生一个线程并立即返回时,即使有一个线程在工作,空闲时钟也会开始。我没有将线程设置为 IsBackground,它仍然因空闲而终止。对于我的测试,我将空闲时间设置为 1 分钟。有没有办法让服务保持“活跃”

这是网络服务代码:

0 投票
1 回答
2483 浏览

asp.net - 记录 IIS 应用程序池的启动、关闭和回收

我的应用程序在共享托管环境中运行。我的应用程序确实有一个专用的应用程序池。我一直在对第一次访问和预编译性能进行一些测试,并一直在跟踪我的应用程序何时启动和关闭。

在我的 Global.asax 中,Application_Start 和 Application_End 中有一些日志记录代码。我通常可以从我的日志中看到应用程序空闲并关闭时,然后有人访问并重新启动。

但是,我也看到记录关机然后在大约 13 分钟后再次关机的情况;中间没有启动。

我还看到连续有两个 Startup 的实例。我猜这些可能是一个回收,但为什么不会有一个关闭日志条目?

我真的很想知道是否有更好的方法来跟踪我的应用程序何时启动、何时关闭以及是否由于空闲池或回收而关闭。我无权访问 Windows 事件日志,因此如果可能,我需要从我的应用程序中执行此操作。

0 投票
4 回答
17932 浏览

iis - IIS7:错误的应用程序 w3wp.exe,这些崩溃的根本原因是什么?

我们的网站在 .NET 中,但其中也包含一些旧的 ASP 和 32 位库。它已经工作了一段时间(2年)。但是在过去的一个月里,我们在 IIS7 服务器上看到了以下错误,我们无法追踪和修复:

“故障应用程序 w3wp.exe,版本 7.0.6001.18000,时间戳 0x47919413,故障模块 kernel32.dll,版本 6.0.6001.18215,时间戳 0x4995344f,异常代码 0xe053534f,故障偏移量 0x0002f328,进程 ID 0x%9,应用程序启动时间 0%x 10。”

我们能够重现错误:

  • 我们的 .ASPX 页面之一开始加载、执行代码和查询(我们在整个页面上都有 response.flush() 以跟踪代码中断的位置),然后它突然停止并且我们在 IIS 中收到上述错误。

  • 页面停止加载,并且没有 response.flush(),它不会重定向到我们的 error.aspx 页面(在 web.config 中配置)

  • 错误不会一直发生。有时,它连续发生 3 次,然后在正确重定向到 error.aspx 的情况下不间断地工作 15 分钟。

  • 我们得到的错误是一个经典的错误:“BOF 或 EOF 为 True,或者当前记录已被删除。”

  • 发生错误时,页面会挂起,并且来自任何浏览器的同一台计算机上的所有其他会话也会挂起网页(顺便说一句,我们在测试时只允许 1 个工作进程)。从其他计算机上,该站点加载正常。

  • 我可以回收应用程序池,杀死 w3wp.exe,重新启动 IIS。什么都不会。再次成功加载页面的唯一方法是重新启动处理我们的会话状态的 MS SQL。我不知道为什么会这样,但我们猜测用户浏览器上的会话 Cookie 指向一个未正确终止的线程(由于上述崩溃)并且 IIS 正在等待它终止以处理更多代码(? )。如果有人可以更好地解释这一点,那将非常有帮助。我们可以设置一个超时来“终止”线程吗?它是与 MS SQL 相关的问题吗?

我还查看了私有和虚拟内存的使用情况,因为我认为我们的代码不是最有效的,而且我确信我们还有剩余的内存泄漏。然而,即使私有内存和虚拟内存都非常低(每个都低于 100MB),我还是看到了页面崩溃。

我已经使用了 Debug Diag 和 WinDbg,如下所示:http: //blogs.msdn.com/b/tess/archive/2009/03/20/debugging-a-net-crash-with-rules-in-debug-diag .aspx,但我们无法使 windbg 工作,这是我们目前正在尝试做的事情。

如果有人可以帮助我们或为我们指明正确的方向,那就太好了,谢谢。