我打开了"在其自己的进程中运行每个查询"选项(默认值),但似乎在查询运行之间重用该进程(LINQPad.UserQuery.exe保持运行).
有没有办法避免这种重用?我每次都需要一个新进程(由于JVM的使用).
显而易见的是
Environment.Exit(0);
Run Code Online (Sandbox Code Playgroud)
但它会导致令人不快的"查询意外结束"消息.
选项"在其自己的进程中运行每个查询"指示LINQPad使用进程隔离而不是AppDomain隔离.如果重新运行相同的查询,它仍将重新使用该过程.
您想要的选项是"始终使用新鲜的应用程序域".将此设置为true,每次执行都会得到一个全新的进程/ AppDomain.或者,正如Guru建议的那样,Util.NewProcess在您的查询中设置.这会强制下一次执行使用新进程/域.
试试Util.NewProcess = true:
Util.NewProcess = true;
Process.GetCurrentProcess().Id.Dump();
Run Code Online (Sandbox Code Playgroud)
您也可以尝试菜单中的选项:'查询' - >'取消所有主题和重置'(也可通过快捷方式获得Shift+Control+F5)
| 归档时间: |
|
| 查看次数: |
427 次 |
| 最近记录: |