Ahm*_*mad 3 c# console-application
我有兴趣了解C#控制台应用程序是否存在任何生命周期,类似于ASP.Net生命周期.
我特别感兴趣
static Main方法如何影响依赖对象的编译通常,每个方法在首次执行时都是JITted,并且根据需要再次发生程序集解析,这通常意味着"在使用我们尚不需要的程序集的方法的JIT期间"(但也可以表示:通过反射) .
static Main与任何其他方法的工作方式相同; 您使用的任何内容都Main将在Main开始执行之前得到解决.在某些情况下,您可能需要(以帮助调试):
static int Main(string[] args) {
try {
return MainImpl(args);
} catch(Exception ex) {
// .. do something
return -1;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
static int MainImpl(string[] args) { ... }
Run Code Online (Sandbox Code Playgroud)
如果通常位于Main(但现在位于MainImpl)的代码导致程序集解析错误,那么这很有用......因为如果不能成功地进行JIT catch,Main那么你就无法Main进入.
至于生命周期......
Main)Main退出时",但在线程服务器示例中可能更复杂
| 归档时间: |
|
| 查看次数: |
1330 次 |
| 最近记录: |