2016-11-14 3 views
0

Я приближаюсь к службе WCF, начиная с учебника, предоставленного Microsoft. Я создал очень простой сервис WCF (CalculatorService), и у меня есть некоторые сомнения относительно EndpointAddress этой службы.Исключена конечная точка в службе WCF

Когда я создаю WCF-хостинга, я установил конечную точку, как это:

Uri baseAddress = new Uri("http://localhost:8000/GettingStarted/"); 
// Step 2 Create a ServiceHost instance 
ServiceHost selfHost = new ServiceHost(typeof(Service1), baseAddress); 
// Step 3 Add a service endpoint. 
selfHost.AddServiceEndpoint(typeof(IService1), new WSHttpBinding(), "CalculatorService"); 

Все работает, если я отладить весь раствор, но, если я запустить WCFHost выполнения его EXE-файл, запуск также применение Клиента дает мне следующее исключение:

System.ServiceModel.EndpointNotFoundException: No endpoint listening in http://localhost:8732/Design_Time_Address/WcfServiceLibrary/Service1/. 

Дело в том, что если я пытаюсь открыть браузер и поиск адреса http://localhost:8000/GettingStarted/, я правильно страницу службы. Я полагаю, что Служба размещается по одному адресу, и Клиент пытается получить к ней доступ через другую.

Может ли кто-нибудь помочь мне решить эту проблему?

+0

Что-то в другом месте ожидает, что он будет на порту 8732 четко ... – BugFinder

+0

Вы объявляете конечную точку по URL-адресу localhost: 8000, а WCFHost ищет конечную точку на localhost: 8732. Порт на обоих отличается. –

+0

да, но адрес http: // localhost: 8732/Design_Time_Address/WcfServiceLibrary/Service1/создается автоматически. Я не установил его, так как я могу заставить клиента искать службу по адресу, который я хочу? – user2896152

ответ

0

Если у вас в коде клиента указан жесткий адрес http://localhost:8732, измените его. Но ваш клиент, вероятно, (вы не ставили эту информацию, к сожалению, в свой вопрос) автоматически генерируется. В этом случае клиентская конфигурация находится в файле App.config (если речь идет о вашем решении) и в файле конфигурации файла .exe при создании проекта. Вы должны заглянуть в свой файл [ClientApplicationName] .exe.config и обновить адрес конечной точки до порта 8000.

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