0

我正在尝试通过 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 服务时,它可以工作,我该如何解决这个问题?

4

3 回答 3

2

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

AppDomain.CurrentDomain.SetupInformation.ConfigurationFile

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

于 2013-05-03T03:35:14.860 回答
1

WCF 是关于 A(address) B(binding) C(contract),你需要指定 binding。

于 2013-05-03T02:33:05.260 回答
1

我建议你看看以下内容:

这里

于 2013-05-03T03:13:22.620 回答