【发布时间】:2016-01-05 17:04:07
【问题描述】:
我正在尝试将 HostControl 实例传递给 topshelf 服务的启动方法,但出现以下编译器错误:
- 并非所有代码路径都返回类型为 lambda 表达式的值
- “HostSettings”不包含“ConstructUsing”的定义
- “HostSettings”不包含“WhenStarted”的定义,也没有 扩展方法“WhenStarted”接受“HostSettings”类型的第一个参数 可以找到(您是否缺少 using 指令或程序集引用?)
我已经为 EventBroker 类实现了接口“ServiceControl”。
using Topshelf;
namespace Sample
{
class Program
{
static void Main(string[] args)
{
HostFactory.Run(x =>
{
x.Service<EventBroker>(s =>
{
s.ConstructUsing(name => new EventBroker());
s.WhenStarted((tc, hostControl) => tc.Start(hostControl));
s.WhenStopped(tc => tc.Stop());
});
x.RunAsLocalSystem();
我是否遗漏了一些程序集参考或其他内容?我正在使用 TopShelf v3.3.154.0。如果没有“hostControl”,它可以正常工作。
【问题讨论】:
标签: c# windows-services topshelf