WCF分布式开发常见错误解决(6)Service 'WcfServiceApp.WCFService' has zero application

来源:互联网 发布:java注解类 编辑:程序博客网 时间:2024/06/13 21:54
Posted on 2009-03-29 17:57 Frank Xu Lei 阅读(416) 评论(0)  编辑 收藏 网摘 所属分类: WCF分布式开发常见错误

调试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.

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

  此错误由于没有服务终结点所致。
解决办法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>

解决办法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();
            
            }

 


 

 

【老徐的博客】

【作者】:Frank Xu Lei

【地址】:http://www.cnblogs.com/frank_xl/archive/2009/03/29/1424507.html

原创粉丝点击