2013-05-03 2 views
0

Я пытаюсь запустить и остановить библиотеку служб WCF через приложение для рабочего стола Windows, но застрял. Я не могу запустить его, потому что он дает мне ошибку в shost.Open();Host WCF в Windows Forms: ошибка при открытии хоста

Код:

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

Ошибка:

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

Это может быть потому, что конфигурационный файл был найден для вашего приложения, или потому, что нет сервисный элемент, соответствующий имени службы, может быть найден в файле конфигурации или потому, что в элементе службы не было определено никаких конечных точек.

Но когда я пытаюсь запустить службу wcf, она работает, как я могу исправить эту проблему?

ответ

1

Я предлагаю вам взглянуть на следующее:

Here

1

WCF - это A (адрес) B (обязательный) C (контракт), вам необходимо указать привязку.

+0

У меня уже есть это в моем файле app.config wcf, если я запускаю wcf. он не имеет ошибок. работает правильно. – SHINHAN

2

Поскольку вы не указываете конечные точки через код, необходимо указать их с помощью конфигурации. Вероятно, у вас есть отсутствующий файл конфигурации. Изменение Main метода (если консольное приложение, что-то вроде Page_Loaded случае, если вы пишете окно приложение), чтобы напечатать следующее значение:

AppDomain.CurrentDomain.SetupInformation.ConfigurationFile 

Это покажет имя, что приложение ожидает его конфигурационный файл быть. После этого убедитесь, что этот файл существует, и он имеет соответствующий раздел <system.serviceModel> для определения конечных точек службы.

 Смежные вопросы

  • Нет связанных вопросов^_^