Windows窗体中的主机WCF:打开主机时出错

时间:2013-05-03 02:26:57

标签: c# winforms wcf

我正试图通过Windows桌面应用程序启动和停止WCF服务库,但卡住了。我无法启动它,因为它在shost.Open();

中给出了错误

代码:

private void startwcfedcHost()
{
    ServiceHost shost = new ServiceHost(typeof(WcfServiceLibrary.Service));
    shost.Open();
}

错误:

Service 'WcfServiceLibrary.Service' has zero application (non-infrastructure) 
endpoints.

这可能是因为没有为您的应用程序找到配置文件,或者因为在配置文件中找不到与服务名称匹配的服务元素,或者因为没有在服务元素中定义端点。

但是当我尝试运行我的wcf服务时,它可以工作,我该如何解决这个问题呢?

3 个答案:

答案 0 :(得分:2)

由于您未通过代码指定端点,因此需要通过配置指定端点。您可能拥有的是缺少配置文件。更改Main方法(如果是控制台应用程序;如果您正在编写Windows应用程序,则类似Page_Loaded事件)以打印以下值:

AppDomain.CurrentDomain.SetupInformation.ConfigurationFile

这将显示应用程序期望其配置文件的名称。完成后,请确保该文件存在,并且它具有相应的<system.serviceModel>部分来定义服务端点。

答案 1 :(得分:1)

WCF是关于A(地址)B(绑定)C(契约),你需要指定绑定。

答案 2 :(得分:1)

我建议你看看以下内容:

Here