“服务X没有应用程序端点”,除非我在代码中添加端点 – 为什么?
我按照这篇MSDN文章彻底创建了托管在NT服务中的WCF服务。
当我在服务控制台中单击“开始”时,我在事件查看器中看到以下内容:
服务无法启动。 System.InvalidOperationException:服务’MyServiceNamespace.RequestProcessorImpl’没有应用程序(非基础结构)端点。 这可能是因为没有为您的应用程序找到配置文件,或者因为在配置文件中找不到与服务名称匹配的服务元素,或者因为在service元素中没有定义端点。
我试着查看我能找到的所有可能的原因。 这是App.Config文件中的服务描述:
所有实体都以其命名空间命名 ,因此这不是问题。 App.Config文件放在bin Debug中 – 正好是NT服务的起始位置。
但是,当我从原始实现更改我的ServiceBase
后代OnStart()
:
public class RequestProcessorWindowsService : ServiceBase { public ServiceHost serviceHost = null; //other methods skipped protected override void OnStart(string[] args) { if( serviceHost != null ) { serviceHost.Close(); } serviceHost = new ServiceHost( typeof(RequestProcesssorImpl) ); serviceHost.Open(); } }
到下一个,以便它调用AddServiceEndpoint()
服务启动正常(但我不能添加对它的引用,所以我猜其他错误):
public class RequestProcessorWindowsService : ServiceBase { public ServiceHost serviceHost = null; //other methods skipped protected override void OnStart(string[] args) { if( serviceHost != null ) { serviceHost.Close(); } Uri baseAddress = new Uri("https://localhost:8095/RequestProcessorService"); serviceHost = new ServiceHost( typeof(RequestProcesssorImpl), baseAddress ); serviceHost.AddServiceEndpoint( typeof(IRequestProcessor), new BasicHttpBinding(), baseAddress ); serviceHost.Open(); } }
为什么我的服务在通过App.Config配置时没有启动?
配置文件中的服务名称与服务实现类不匹配。
配置文件应包含:
上述就是C#学习教程:“服务X没有应用程序端点”,除非我在代码中添加端点 – 为什么?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1302632.html