【发布时间】:2016-12-21 16:33:46
【问题描述】:
我知道之前有一个关于此的问题,还有一个 GitHub 问题:https://github.com/aspnet/Hosting/issues/846 从 Microsoft.AspNetCore.Server.IISIntegration 1.1 开始似乎已解决。然而,尽管有这个版本,这在 IISExpress 中似乎仍然不起作用(我正在通过让它执行 Debug.WriteLine 并在 ApplicationStopping 和 ApplicationStopped 上写入日志文件来测试它)。我正在使用工具托盘小部件关闭 IISExpress。
我不确定我是否做错了什么,是否支持以这种方式关闭 IISExpress 作为触发这些事件的“正常关闭”。看起来这可能在 IIS 中运行良好,但您显然无法使用 ASP.Net Core 和完整的 IIS 在本地进行开发,所以我想知道是否有任何方法可以在开发环境中触发这些事件进行测试?
这是 Startup.cs 中的代码:
public void Configure(IApplicationBuilder app, IApplicationLifetime life, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
// other configure code here
life.ApplicationStopping.Register(() =>
Debug.WriteLine(">>Stopping"));
life.ApplicationStopped.Register(() =>
Debug.WriteLine(">>Stopped"));
}
【问题讨论】:
-
如果您不向我们展示您在做什么,我们如何判断您是否做错了什么?
-
好点,虽然是相当不起眼的代码,但我现在已经添加了
-
可能是个愚蠢的问题,但是您已经安装了 IIS 托管模块,对吧? docs.microsoft.com/en-us/aspnet/core/publishing/…
-
除此之外,请确保您还从 .NET Core 下载页面下载了 1.1 运行时和 SDK。除此之外,我们对当前信息没有太多帮助。也试试事件查看器应用程序日志。它更有可能与配置相关而不是与代码相关,因此您将无法设置调试断点,这就是您希望做的。
-
你看到这个链接了吗shazwazza.com/post/aspnet-core-application-shutdown-events 我想你会因为它永远不会运行而失去生命
标签: c# asp.net-core iis-express kestrel-http-server