不要在 LINQPad 中重复使用查询过程

问题描述 投票:0回答:2

我打开了“在自己的进程中运行每个查询”选项(默认值),但似乎该进程在查询运行之间被重用(LINQPad.UserQuery.exe 保持运行)。

有没有办法避免这种重用?我每次都需要一个新的进程(由于 JVM 的使用)。

明显的方法是

Environment.Exit(0);

但这会导致令人不快的“查询意外结束”消息。

linqpad
2个回答
7
投票

您可以使用

Util.NewProcess = true

Util.NewProcess = true;
Process.GetCurrentProcess().Id.Dump();

您也可以尝试菜单中的选项:“查询”->“取消所有线程并重置”(也可通过快捷方式

Shift+Control+F5
使用)


7
投票

“在自己的进程中运行每个查询”选项指示 LINQPad 使用进程隔离而不是 AppDomain 隔离。如果您重新运行相同的查询,它仍然会重复使用该进程。

您想要的选项是“始终使用新的应用程序域”。将其设置为 true,每次执行时您都会获得一个新的进程/AppDomain。或者,正如 Guru 建议的那样,在您的查询中设置

Util.NewProcess
。这会强制下一次执行使用新的进程/域。

© www.soinside.com 2019 - 2024. All rights reserved.