问题标签 [application-start]
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.
asp.net - 如何检测应用程序启动失败?
我们的情况:
我们在 loabalancer(Astaro 安全网关)后面有几个网络服务器。在网络服务器上,我们运行一个 asp.net 应用程序,我们为 404 和 500 状态代码配置了自定义错误页面。
现在,当应用程序无法启动时,每个请求都会通过发送状态码 302 重定向到错误页面,然后错误页面本身会发送 500。
负载均衡器每 15 秒向我们的网络服务器发送一个 HEAD 请求,以查看它是否仍然存在,如果存在,它会检查第一个html 状态代码。所以它只看到 302。低于 500 的每个代码都被视为服务器已启动并正在运行。
问题:
如果应用程序无法启动,我们如何使负载均衡工作?
编辑:
应用程序无法启动是指在启动过程中出现错误。一些重要部分无法初始化,因此每个页面都无法执行。
asp.net - Application_Start 中的间歇性异常 - 如何取消启动应用程序?
在我们的Application_Start
事件处理程序中,我们正在执行一些由于文件锁定问题而间歇性失败的操作。在这种情况下,我们希望将应用程序返回到“未启动”状态。
我的意思是,用户将看到一个错误页面,然后当用户下次点击该站点时,该Application_Start
事件将再次被触发。
我们正在使用 ASP.NET 3.5、WebForms 和 MVC。
asp.net - 为什么 IIS 会“启动”仍在运行的应用程序?
我们有一个在 IIS7 / Windows 2008 上运行的 ASP.NET (3.5 SP1) 应用程序。我们在 Global.asax 中捕获 Application_Start 和 Application_End 事件。我们还在应用程序中托管 WCF 服务,并通过 ServiceHostFactory 捕获 OnOpening 和 OnClosing 事件。因此,我们认为,我们可以保证通知任何应用程序的启动和停止,无论是计划的还是非计划的。
几天前,我们的应用程序在“已启动”/“运行”状态下捕获了一个 Application_Start 事件。
在 Application_Start 之前没有 Application_End 事件(如果考虑到竞态条件,甚至几分钟之后)。
我们的第一个想法是我们的应用程序实际上默默地崩溃并终止了。实际上发生的事情是一个新的 App Domain 启动以服务入站请求,但现有 App Domain 的后台线程(我们在 ThreadPool 线程中做很多事情)仍然运行了几天——直到我用 IISRESET 杀死了它们。
猜测是 Application_End 没有触发,因为原来的 AppDomain 没有结束......但是为什么 Application_Start 触发了?
寻找描述这种半关闭+AppDomainStartup 机制在 ASP.NET 中如何工作的提示或文档。
提前致谢,
霍华德霍夫曼
asp.net - 多个 Application_Start 事件触发
我正在调试一个遭受初始页面加载缓慢的 ASP.NET 2.0 应用程序。
通过添加日志记录,我发现该Application_Start
事件在启动时触发了两次,两个事件之间有短暂的延迟。该Session_Start
事件还会触发两次,具有相同的 Session ID 值。
例如
我在本地机器上运行它,在 IIS 5.1 下。该项目还使用 ASP.NET MVC,使用的 aspx 页面 URL 使用路由更改,使用 Phil Haack 网站上显示的技术。
关于可能导致这种情况的任何建议?
asp.net - 在 global.asax 中未调用 Application_Start。为什么?
在我的 global.asax 中,我有以下代码:
当我打开一个页面并查看Was
变量时,它仍然是false
. 是什么赋予了?(注意:该变量未在其他任何地方使用,我只是为这个测试用例制作的)
更新: 我刚刚发现我的整个global.asax
文件被忽略了。怎么会这样?
更新 2:对不起,它毕竟会发挥作用。但那里有额外的奇怪之处。如此多的奇怪之处,我为此提出了一个新问题。
.net - 回收应用程序池时强制应用程序启动的最佳方法是什么?
我想知道是否有一种方法可以在该站点的应用程序池被回收时自动启动该网站/应用程序的应用程序启动?
这个问题有什么罐头解决方案吗?
我真的很想避免让我的一位最终用户必须通过网站的应用程序启动,如果他们可以避免的话。
asp.net - 应该在 global.asax 中的 application_start 和 session_start 事件中放置什么代码?
您能否举例说明最适合放置在 Application_Start 和 Session_Start 子例程中的内容?我知道每个子程序何时被调用。Application_Start 当第一个用户第一次访问 Web 应用程序时。Session_Start 当用户打开与应用程序的会话时。但是这些子程序中的每一个都属于什么代码。每个子程序中的代码应该做什么?
asp.net - 如何最好地调试在 ASP.NET Web 应用程序中创建不需要的线程
在我面向公众的网络服务器上执行 IISRESET 后,我的应用程序的初始化似乎是正确的。也就是说,在 Application_Start 事件中,我启动了一个新的“电子邮件”线程,其目的是休眠到配置的时间,在“唤醒”时生成一个报告并将其通过电子邮件发送给我的管理用户并返回休眠状态直到配置持续时间过后,将再次创建报告并通过电子邮件发送出去。我目前配置为从 1900 开始,每 12 小时生成一份新报告。
然而,随着时间的推移,这个生产站点会导致创建一个“额外的”线程。反过来,这会导致通过电子邮件发送重复的报告。虽然问题足够温和,但如果可能的话,我想清理它。这是一个片段:
检查网络服务器上的应用程序事件日志,我可以在 IISRESET 上正确看到上述消息。随后是workerThread中的另一个“正确”记录事件,它告诉我们代码在下一次报告时间之前将休眠多长时间。这是workerThread的一个片段:
上面的代码似乎工作正常(就像我说的,在 IISRESET 之后,我看到 Application_Start 事件中记录的一个事件,然后是我的“电子邮件”线程中的日志条目:“EmailThread 将休眠 nnn 分钟......等等。 “。但不知何故(随着时间的推移)我得到了另一个 EmailThread 实例,因此在预定的“唤醒时间”生成了 2 个报告,而不仅仅是一个报告。
在分配给该网站的 IIS 应用程序池中,我有以下设置:
我注意到可以再次输入 Application_Start 事件(在第一次之后大约 38 分钟),这会导致我的代码再次运行并创建另一个 [和不需要的] 线程。
我将不胜感激有关如何收紧这一点以使这种症状消失的建议。
linux - Linux:自动启动中 *.desktop 文件的执行顺序是什么
需要在系统启动时启动两个应用程序。从第一个开始创建一个桌面文件。不幸的是,找不到任何方法在单个桌面文件中启动这两个应用程序。如果有办法请在评论中写下?
作为一种解决方法,创建了第二个桌面文件以启动第二个应用程序。现在需要知道在自动启动中调用 *.desktop 文件的顺序。它是按字母顺序执行的吗?
问候,列文
c# - 在会话开始而不是应用程序开始时注册路由
我正在尝试根据每个会话在 .net 中注册路由集合。我的代码工作正常,您转到网站/用户名并加载正确的子页面,但您必须重新启动应用程序以转到网站/用户名2 才能加载这些子页面。但是当应用程序重新启动时,第二个工作,但不是第一个。
是否有某种方法可以使用 system.web.routing 为每个会话而不是每个应用程序创建不同的路由集合。