操作契约定义导致Windows服务对控制功能没有响应

本文关键字:功能 控制 响应 服务 定义 契约 Windows 操作 | 更新日期: 2023-09-27 18:03:37

我一直在开发一个包含WCF服务的windows服务。在整个开发过程中,我已经能够成功地安装和启动我的服务,并在添加功能时进行测试。然而,我最近在我的服务契约中添加了一个方法:

[OperationContract]
void StartWebsiteProcessing(WebsiteInfo info);

当WCF客户端调用该方法时,将调用该方法:

public void StartWebsiteProcessing(WebsiteInfo info)
{
    Thread t = new Thread(this.AddWebsite);
    t.Start(info);
}

现在,在我安装服务之后,当我去启动服务时,我收到这条消息:

"服务没有响应控制功能。"

从那里,我开始撤消我所做的更改一个接一个地试图确定是什么导致了这一点。我发现,如果我从服务契约中删除StartWebsiteProcessing方法,我可以成功地再次启动服务。

谁能给我解释一下为什么会这样?

操作契约定义导致Windows服务对控制功能没有响应

你试过了吗:

[OperationContract(IsOneWay=true)]
void StartWebsiteProcessing(WebsiteInfo info);