将命令行参数传递给单一服务

发布于 2024-12-07 19:21:41 字数 58 浏览 0 评论 0原文

有没有办法将命令行参数传递给单一服务调用的服务?所有命令行参数似乎都被单一服务吸收,而不是传递给服务。

Is there a way to pass command line arguments to a service invoked by mono-service? All of the command line arguments seem to be absorbed by mono-service instead of passed to the service.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

玩物 2024-12-14 19:21:41

更新:根据我在 2011 年底发布的补丁,您现在可以使用 mono-service 的预期接口。


AFAICT 没有办法

惯用的做法是使用 app.config 文件来包含 配置部分(XML 格式)。

更新

这看起来很奇怪。 assebmblyArgs [sic] 作为 activationAttributes 的一部分传递到 AppDomain.CreateInstanceAndUnwrap 方法(String、String、Boolean、BindingFlags、Binder、Object[]、 CultureInfo, Object[]),但在对 OnStart 的调用中被忽略。

您可以尝试使用以下源编译 mono-service.exe 的修改版本:

* 请参阅 github 要点提交审核

使用 < 编译为 mono-service.exe代码>-r:System.ServiceProcess.dll -r:Mono.Posix.dll -不安全


旧的东西:

<子>
更新 1 删除它。从代码来看您应该只能传递程序集名称后面的选项。

这意味着以下内容应该符合您的预期:

 mono-service -l:/root/service-lock MyService.exe /Param1 /Param2 bla.txt

Update: as per my patch that went in end 2011 you can now use the intended interface of mono-service.


AFAICT there is no way.

The idiomatic way to do things would be to use an app.config file to contain Configuration Sections (in XML).

Update

That seems odd. The assebmblyArgs [sic] are being passed as part of the activationAttributes to AppDomain.CreateInstanceAndUnwrap Method (String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[]), but being ignored in the call to OnStart.

You could try compiling a modified version of mono-service.exe using the following source:

* see github gist or commit for review

Compile to mono-service.exe with -r:System.ServiceProcess.dll -r:Mono.Posix.dll -unsafe


OLDER STUFF:


Update 1 Strike that. Judging from the code you should just be able to pass options trailing the assembly name.

This implies that the following should do what you expect:

 mono-service -l:/root/service-lock MyService.exe /Param1 /Param2 bla.txt

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文