我想知道如何设置一个操作(方法,代码块等)在不同的进程(不是线程)上运行,方式是如果主进程崩溃其他人将仍然在运行。不可监测,但运行。在单独的进程中运行代码
我想我可以在另一个应用程序中“编译”代码块,然后执行结果,但那不会太优雅。有没有更好的办法?
我想知道如何设置一个操作(方法,代码块等)在不同的进程(不是线程)上运行,方式是如果主进程崩溃其他人将仍然在运行。不可监测,但运行。在单独的进程中运行代码
我想我可以在另一个应用程序中“编译”代码块,然后执行结果,但那不会太优雅。有没有更好的办法?
除非你运行一个单独的exe的方式,MS打算创建一个新的AppDomain并运行其中的其他代码。 http://msdn.microsoft.com/en-us/library/system.appdomain.aspx
另一种选择是使用相同的app/exe并传递命令行参数来表示在第二个实例中要运行的内容。
.NET应用程序域正是出于这个原因:http://stackoverflow.com/questions/1094478/what-is-a-net-application-domain –
如果代码可能会从一个SOE抛出一个SOE第三方图书馆。在这种情况下,AppDomain不起作用 - 整个过程被终止。而杀死辅助程序并不坏。 – mark