在 IISExpress 中获取 ASP.Net Core 关闭触发 ApplicationStopping 事件

2023-12-26

我知道之前有一个关于此问题的问题,还有一个 GitHub 问题:https://github.com/aspnet/Hosting/issues/846 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"));
    }

我有一个包含所有最新 NuGet 更新的应用程序,并且可以验证 ApplicationStopped 和 ApplicationStopping 是否在 IISExpress 下触发。 ApplicationStarted 似乎工作正常。

我发现如果您直接在我的开发环境中调用应用程序,一切都很好。

本文 https://andrewlock.net/configuring-urls-with-kestrel-iis-and-iis-express-with-asp-net-core/告诉你如何做。

这很简单,只需从下拉框中选择应用程序即可:

我意识到这与使用 IIS Express 不同,但可能会帮助您解决问题。

Nearly forgot, to invoke you need to type Ctrl+C in the command window which appears when you start your app.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 IISExpress 中获取 ASP.Net Core 关闭触发 ApplicationStopping 事件 的相关文章

  • 如何在自定义保存操作 WFFM 中获取 Sitecore.Current.Site 对象?

    我在用着面向营销人员的 Sitecore 网络表单 在里面save action我得到的表格Sitecore Context Site对象 但该对象没有返回正确的上下文 该值为 modules shell 有谁知道我如何才能获得正确的上下文
  • 管理多个解决方案中存在的 C# 项目的 Nuget 包

    我现在正处于这样的阶段重构疯狂一个有很多的大项目遗留和不稳定的模块 我决定拆分解决方案目前 所有项目 大约有 20 个 而且由于下个月肯定会出现单元测试项目 还会有更多 链接在一起 使其更加独立和细化 通过这种方法 有一些模块 例如需要在多
  • ctypes.ArgumentError:不知道如何转换参数

    我在C库中定义了一个函数 如下所示 int Test char str1 int id1 char str2 float val float ls 我想在Python中使用它 所以我编写了以下Python代码 str1 a str2 b i
  • C# 委托实例化与仅传递方法引用 [重复]

    这个问题在这里已经有答案了 我有一个简单的问题 与仅传递函数引用相比 实例化 C 委托有什么优势 我的意思是 Why do Thread t new Thread new ThreadStart SomeObject SomeMethod
  • 如何使用 Regsvr32 注册 .NET COM DLL?

    我有一个使用 COM DLL 的 VB6 应用程序 该DLL是用C 编写的 在 C 项目属性中 我检查了 Register for COM interop 选项 VB6 应用程序在我的开发机器上运行良好 C 代码完全遵循以下格式 CodeP
  • 类型定义存在于两个库中

    我正在使用 NET 4 5 构建 ASP NET Web 窗体网站 错误 The type System ComponentModel DataAnnotations Schema ForeignKeyAttribute exists in
  • 在 .NET Core 上通过 MEF 将参数传递给插件构造函数?

    我花了几个小时试图弄清楚如何通过 MEF System Composition 将参数传递给插件构造函数 但一切都无济于事 不用说 相关文档很少 查看源代码也没有帮助 这曾经非常容易做到 使用 CompositionHost Compose
  • 需要帮助将 winform 迁移到 net 5

    我正在将 winform 应用程序从 net core 3 1 移植到 net 5 并收到以下错误 严重性代码 说明 项目文件行抑制状态 错误NETSDK1136 目标平台必须设置为Windows 通常 通过在 TargetFramewor
  • 变形:Opencv 使用 Visual Studio 将图像显示到曲面屏幕

    我正在尝试使用 opencv API 来扭曲图像 以便将其显示到曲面屏幕上 我已经浏览了opencv中提供的翘曲apihere http docs opencv org 2 4 modules stitching doc warpers h
  • OpenCV:处理每一帧

    我想使用 OpenCV 编写一个跨平台应用程序进行视频捕获 在所有示例中 我发现来自相机的帧是使用抓取功能进行处理并等待一段时间 我想处理序列中的每一帧 我想定义自己的回调函数 每次当一个新帧准备好处理时都会执行该函数 例如直播对于 Win
  • 使用 c++20 范围删除最后一个元素的最佳方法是什么

    有没有比反转两次更好的方法来使用 c 20 范围删除容器中的最后一个元素 include
  • 如何在 OpenCV 中删除 mouseCallback

    在使用 C 的 OpenCV 中 有没有办法删除 mouseHandler int event int x int y int flags void param 通过函数添加到窗口 image window cv setMouseCallb
  • 从资源文件获取 DisplayName [重复]

    这个问题在这里已经有答案了 我在 App GlobalResources 文件夹中有特定于文化的资源文件 现在我需要从此资源文件中读取 DisplayName 属性的值 我在用 Display Name MerchantName Resou
  • 隐式类型转换 - 编译器错误

    这个问题与this https stackoverflow com questions 3529449 can i make the ternary operator treat my class like a bool问题 下面的代码在V
  • 以编程方式连接和断开 USB,“无需拔出和重新插入”

    我需要以编程方式连接和断开 USB 也就是说 我已经插入了USB设备 我需要使用 C NET 应用程序传输文件 该应用程序将监视特定文件夹并将文件从该文件夹传输到 USB 驱动器 我需要在文件传输后断开 USB 设备的连接 并在需要时连接
  • 所有区域的启用保护模式必须设置为相同的值(启用或禁用)

    我正在尝试使用Selenium Internet Explorer驱动程序 但当我尝试实例化它时它崩溃了 TestInitialize public void TestInitialise ieDriver new InternetExpl
  • wpf中的图像问题(图像不显示)

    我不明白为什么我无法在 WPF 中显示图像 也许我不小心修改了我的资源文件夹 这就是我没有显示的原因 所以我创建了一个新的 wpf 应用程序 我有这个 当我运行该程序时 我的图片显示为 为什么当我尝试在程序中执行相同的操作时 图像没有显示
  • In 和 Out 属性在 .NET 中如何工作?

    我一直在尝试跨序列化数组AppDomain边界 使用以下代码 public int Read byte buffer int offset int count return base Read buffer offset count 作为猜
  • 如何获取打印机设备上下文?

    我在 Windows 上尝试使用以下命令打印增强型图元文件 EMF 播放增强元文件 http msdn microsoft com en us library dd162800 28VS 85 29 aspx 我当前正在使用屏幕上窗口的设备
  • 文件按文件名模式存在

    我在用 File Exists filepath 我想做的是将其替换为模式 因为文件名的第一部分发生了变化 例如 该文件可以是 01 peach xml 02 peach xml 03 peach xml 如何根据某种搜索模式检查文件是否存

随机推荐

  • AlarmManager.setExact() 在错误的时间启动?

    我安排挂起的意图在 5 秒内发送 但它在 23 秒内开始 API 19 AlarmManager setExact 10 23 16 43 44 638 11903 11903 D MainActivity Fri Oct 23 16 43
  • 格子,仅当连接具有正斜率时才连接点

    仅当连接具有正斜率时 是否有一种舒适的方法来连接点 否则该函数的行为应与 xyplot 完全相同 library lattice dat lt data frame x 1 10 y sample 1 10 xyplot y x data
  • 使用 Stream.periodic 时如何取消 Stream?

    我无法取消使用 Stream periodic 构造函数创建的流 以下是我取消流的尝试 但是 我很难从内部范围中提取 count 变量 因此 我无法取消订阅 import dart async void main int count 0 f
  • 公开阅读,“私人”保留财产

    创建对公共只读且对 私有 读 写的属性的最佳方法是什么 我可以创建一个只读方法并在 m 文件中的无名扩展名中声明该属性 但最好我想保留点符号 在您的公共界面中 声明该属性为只读 即 Foo h interface Foo private B
  • com.android.build.api.transform.TransformException:com.android.builder.packaging.DuplicateFileException:重复文件

    I use android studio 2 0 version I use the gradle to build the program take this the question 我知道这个问题在Android studio 0 7
  • 批处理文件 - 从目录获取文件名并保存为变量

    我正在尝试读取目录并从该目录获取文件名 然后我想将文件名保存为变量并回显该文件名 这是我正在使用的代码 for F a in dir C Users username Documents Training Pentaho Outputs B
  • Python Dbus:如何导出接口属性

    在所有 python dbus 文档中都有关于如何导出对象 接口 信号的信息 但没有关于如何导出接口属性的信息 有什么想法如何做到这一点吗 在 Python 中实现 D Bus 属性绝对是可能的 D Bus 属性只是特定接口上的方法 即or
  • BeginConnect 和 ConnectAsync 有什么区别?

    有什么区别BeginConnect and ConnectAsync 随后 有什么区别BeginDisconnect and DisconnectAsync The ConnectAsync http msdn microsoft com
  • 如何在 npm start 时将 Nodemon 与 Express JS 一起使用?

    我想用nodemon自动检测 Node js 项目中脚本的更改 并在检测到更改时重新启动 我的项目设置使用快递 js 如何将nodemon与express js一起使用 以便当我输入时npm start nodemon 自行启动 首先使用以
  • beautifulsoup 解析 - 处理上标?

    这是我试图从中提取信息的 HTML 段 td class yfnc tablehead1 width 74 Market Cap intraday font size 1 font td
  • 如何:实体框架和多个模式

    我正在使用实体框架 我使用具有多个模式的单个数据库 mySchema1 EmployeemySchema2 EmployeemySchema3 Employee 当我为此数据库生成 edmx 时 它将表重命名为 Employee1 Empl
  • 如何检测 iPhone 上的声音频率/音调? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在尝试找到一种方法来检测 iPhone 麦克风录制的声音频率 我想检测声音频率是上升还是下降 你可以尝试使用SC监听器 http
  • 在 MiniZinc 中我该如何解决这个错误?

    在 MiniZinc 中 如何编译此代码而不出现错误 未找到具有此签名的函数或谓词 round var float var int D 1 var int F constraint F round D 2 该消息仅意味着 MiniZinc
  • 更改 Drupal 7 中的消息

    drupal 中有几条消息 当出现 php 警告时 会引发错误消息 但模块也可以使用 drupal set message 引发消息 问题是 有没有办法改变这些消息 例如 将每条消息中的每个 a 替换为 b Thanks 虽然设置上没有消息
  • 基于 Java 的正则表达式,允许字母数字字符和 ', and

    我是 Java 中正则表达式的新手 我需要验证字符串是否仅包含字母数字字符 逗号 撇号和句号 句点 其他任何内容都应该等同于错误 有人可以指点一下吗 我现在有这个 我相信字符串中的每个字符都有字母数字 Pattern p Pattern c
  • HTML5 的开放图谱验证

    有没有办法让 facebook 的蹩脚 Open Graph 元标记来验证我的文档类型是否是 HTML5 除了 facebook 的 Open Graph 元标记之外 我的文档验证完美 我真的不想用因为这会带来一系列全新的问题 这是相关验证
  • CMake 在 add_library 的链接阶段末尾添加 -ldl

    我在 github 上编写 维护了一个小型单元测试库https github com acgreek ExtremeCUnit https github com acgreek ExtremeCUnit使用 cmake 构建 您可以在签出后
  • 模拟类型转换对象

    我的 bean 中有一个简单的方法来处理 primefaces 数据表中的单元格编辑事件 方法如下 public void onCellEdit CellEditEvent event Object oldValue event getOl
  • Linq to SQL / 过滤重复项

    我的 sql server 2012 中有一个视图 其中有几个重复项 我想按最新的对它们进行排序并过滤所有其他的 谁能帮助我 我对 SQL Server 2012 的看法 GUID 作为主键 数字 日期时间和名称 guid number d
  • 在 IISExpress 中获取 ASP.Net Core 关闭触发 ApplicationStopping 事件

    我知道之前有一个关于此问题的问题 还有一个 GitHub 问题 https github com aspnet Hosting issues 846 https github com aspnet Hosting issues 846从 M