调试WCF服务应用程序的时候,会出现如下错误:
“/”应用程序中的服务器错误。
Service 'WcfServiceApp.WCFService' 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.
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.InvalidOperationException: Service 'WcfServiceApp.WCFService' 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.
源错误:
异常详细信息: System.InvalidOperationException: Service 'WcfServiceApp.WCFService' 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.
源错误:
执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。 |
此错误由于没有服务终结点所致。
解决办法1:在配置文件添加代码,配置服务节点:
解决办法1:在配置文件添加代码,配置服务节点:
<
endpoint address
=
""
binding
=
"
wsHttpBinding
"
contract
=
"
WcfServiceApp.IWCFService
"
>
<!--
Upon deployment, the following identity element should be removed or replaced to reflect the
identity under which the deployed service runs. If removed, WCF will infer an appropriate identity
automatically.
-->
< identity >
< dns value = " localhost " />
</ identity >
</ endpoint >
<!--
Upon deployment, the following identity element should be removed or replaced to reflect the
identity under which the deployed service runs. If removed, WCF will infer an appropriate identity
automatically.
-->
< identity >
< dns value = " localhost " />
</ identity >
</ endpoint >
解决办法2:编程方式添加服务节点
using
(ServiceHost host
=
new
ServiceHost(
typeof
(WCFService.WCFService)))
{
Uri tcpAddress = new Uri( " net.tcp://localhost:8001/WCFService " );
host.AddServiceEndpoint( typeof (WCFService.IWCFService), new NetTcpBinding() , tcpAddress);
if (host.State != CommunicationState.Opening)
host.Open();
// 显示运行状态
Console.WriteLine( " Host is runing! and state is {0} " ,host.State);
// 等待输入即停止服务
Console.Read();
}
{
Uri tcpAddress = new Uri( " net.tcp://localhost:8001/WCFService " );
host.AddServiceEndpoint( typeof (WCFService.IWCFService), new NetTcpBinding() , tcpAddress);
if (host.State != CommunicationState.Opening)
host.Open();
// 显示运行状态
Console.WriteLine( " Host is runing! and state is {0} " ,host.State);
// 等待输入即停止服务
Console.Read();
}
本文转自 frankxulei 51CTO博客,原文链接:http://blog.51cto.com/frankxulei/320427,如需转载请自行联系原作者