В моем решении VS я создал консольный проект, который я использую в качестве клиента, и пустой проект для службы WCF.WCF. Приложение использует app.config клиента, а не app.config службы WCF.
Затем я создал службу WCF (создал мой контракт и тип сервиса и вручную создал app.config) и добавил ссылку на проект службы WCF в проекте клиента.
Однако, когда я вызывал ServiceHost.Open() в клиенте, конечные точки не загружались. В конце концов я решил, что мне нужно было поместить всю конфигурационную информацию в app.config клиента, а не в app.config службы.
Я не уверен, что это нормально, или если я делаю что-то неправильно. Раньше, когда я использовал шаблон проекта WCF, это было не так.
Конфигурация взята из файла конфигурации для HOST PROCESS, то есть если вы размещаете службу WCF на сайте ASP.NET, то конфигурация происходит из web.config. Здесь много людей путают: если у вас есть сборка классов, у которой есть какой-то конфиг, это не будет то, от чего будет загружаться .NET config. Поэтому найдите конфигурацию сервера в своем веб-приложении (если вы используете ASP-хостинг) и app.config для клиента консоли. Почему вы вызываете Host.Open() на клиенте? –
Спасибо. Я не знал об этом. Я работаю через «Windows Communication Foundation Unleashed», и я еще не создал метаданные, поэтому я просто использовал ServiceHost, чтобы убедиться, что все правильно загружается. Сначала я хотел решить эту проблему. –