无法托管WCF服务

时间:2013-06-05 09:21:10

标签: c# wcf

当我尝试托管WCF服务时,我遇到异常:

Service 'WcfServiceLibrary3.Service1' 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.

我正在使用以下代码:

using (System.ServiceModel.ServiceHost host = new System.ServiceModel.ServiceHost(typeof(WcfServiceLibrary1.Service1)))//Line 1
        {
            host.Open();

            Console.WriteLine("Service started. press any key to stop it");
            Console.ReadLine();
            host.Close();
        }

此错误来自第1行。 任何人都可以帮助解决此异常。

2 个答案:

答案 0 :(得分:2)

如果您使用控制台应用程序来托管服务并在另一个类库中定义您的服务,那么您需要以正确的方式使用app.config。

尝试将app.config添加到您托管服务的控制台应用程序中。

还匹配服务名称和基本网址。

希望此代码有助于托管服务:

static void Main(string[] args)
    {
        // Create the ServiceHost.
        using (ServiceHost host = new ServiceHost(typeof(HelloWorldService)))
        {
            host.Open();

            Console.WriteLine("The service is ready at {0}", baseAddress);
            Console.WriteLine("Press <Enter> to stop the service.");
            Console.ReadLine();

            // Close the ServiceHost.
            host.Close();
        }
    }

答案 1 :(得分:1)

您似乎没有在应用程序中添加已创建服务的referance。

您需要右键单击您的应用程序。

选择选项作为添加服务referance。

将链接[地址]粘贴到服务。

给实例命名。

这会解决问题。

遵循this方法。

希望它有所帮助。