我在VB中有一个WCF,它将托管在Windows服务中。我管理安装程序,所以服务实际安装。但是,当我尝试启动该服务时,我收到以下错误:
本地计算机上的服务已启动 然后停了下来一些服务停止 自动,如果他们没有工作 例如,执行性能日志 和警报服务。
Cheking事件查看器给我以下内容:
无法启动服务。 System.ArgumentException:ServiceHost 仅支持班级服务类型 在 System.ServiceModel.Description.ServiceDescription.GetService(类型 的serviceType)
在 System.ServiceModel.ServiceHost.CreateDescription(IDictionary`2&安培; implementedContracts).........
有人知道发生了什么吗?谢谢!
答案 0 :(得分:2)
ServiceHost构造函数必须是服务契约的具体实现。
听起来你正在传递接口而不是服务实现。
答案 1 :(得分:1)
svh = new ServiceHost(typeof(MCWCFService.MCManagementService));
svh.AddServiceEndpoint(
typeof(MCWCFService.IMCManagementService),
new NetTcpBinding(),
"net.tcp://192.168.0.2:8011");
svh.Open();
创建ServiceHost时使用类名 - 在上面它是MCManagementService。在端点中,使用接口 - 在上面它是IMCManagementService。