gpt4 book ai didi

.net - 服务具有零个应用程序(非基础设施)端点

转载 作者:行者123 更新时间:2023-12-03 04:59:51 26 4
gpt4 key购买 nike

我最近创建了一个 WCF 服务 (dll) 和一个服务主机 (exe)。我知道我的 WCF 服务工作正常,因为我能够成功地将服务添加到 WcfTestClient。

但是,当我从服务主机 (exe) 使用 WCF 时,我似乎遇到了问题。我可以将对 WCF (dll) 的引用添加到我的服务主机 (exe),并为 exe 创建必要的组件;例如服务安装程序、服务主机和app.config,编译并最终使用InstallUtil安装exe。但是,当我尝试在 Microsoft 管理控制台中启动该服务时,该服务在启动后立即停止。

因此,我开始调查到底是什么导致了此问题,并从事件查看器中的应用程序日志中发现了此错误。

描述:

Service cannot be started. System.InvalidOperationException: Service 'Service' has zero application (non-infrastructure) endpoints. This might be because no configuration file was found for your application, or because no service element matching the service name could be found in the configuration file, or because no endpoints were defined in the service element.

这个错误实际上是在OnStart中产生的;当我执行此调用 ServiceHost.Open() 时,我的 exe 的。我看过很多其他人也遇到过这个问题的帖子,但是大多数(如果不是全部)都声称服务名称或契约(Contract);未指定 namespace 和类名。我在我的配置文件中检查了这两个条目;在 exe 和 dll 中,它们完美匹配。我让办公室里的其他人在我身后仔细检查,以确保我没有在某一时刻变得盲目,但当然他们得出了与我相同的结论,一切看起来都指定正确。我真的不知道此时发生了什么。有人可以帮我解决这个问题吗?

发生这种情况的另一个可能原因是 app.config 从未被读取;至少不是我认为应该阅读的一本。这可能是问题所在吗?如果是这样,我该如何解决这个问题。再次强调,任何帮助将不胜感激。

最佳答案

我刚刚遇到了这个问题,并通过将命名空间添加到服务名称来解决它,例如

 <service name="TechResponse">

成为了

 <service name="SvcClient.TechResponse">

我还看到它通过 Web.config 而不是 App.config 解决。

关于.net - 服务具有零个应用程序(非基础设施)端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2328840/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com