2

I was checking the TopShelf as a beginner.

I see that when you compile your console app you can install your service as:

MySampleWindowsService.exe install

and start:

MySampleWindowsService.exe start

What I do not understand is my console app does not do anything with those parameters.

Question:So how the TopShelf captures those 'install' or 'start' arguments?

4

1 回答 1

5

它可能使用Environment.CommandLineor Environment.GetCommandLineArgs

进程的命令行存储在创建进程时预留的特殊内存区域中,这是在进程执行期间随时可用的方式。它可以由本机GetCommandLine函数检索,这是在 Windows 进程中获取命令行参数的“官方”方式,并由 .NETEnvironment成员包装。

在许多语言中将命令行作为参数传递给“main”函数是该语言提供的一种便利。编译器生成启动代码,该代码调用GetCommandLine并将结果作为参数传递给main(或等效的)。类似地,来自的返回值(如果有)main通常由编译器生成的进程拆卸逻辑设置为进程的退出代码。

于 2013-02-21T12:27:34.977 回答