Мой вопрос: я не могу перейти к базовому адресу после установки службы, поскольку служба не будет работать (немедленно останавливается). Что мне нужно сделать на сервере или на моей машине, чтобы сделать baseAddress действительным?
Справочная информация. Я пытаюсь узнать, как использовать службы WCF, размещенные в службах Windows. Я прочитал несколько уроков о том, как этого добиться, и это кажется очень простым. Я посмотрел на эту статью MSDN и создал ее шаг за шагом. Я могу установить службу на своей машине и на сервере, но когда я запускаю службу, она немедленно останавливается. Затем я нашел этот учебник , который, по сути, то же самое, но он содержит несколько клиентов, которые используют службу WCF. Я скачал исходный код, скомпилировал, установил, но когда я запустил сервис, он сразу остановился.
В поиске SO я нашел возможное решение , в котором говорится, что нужно определить baseAddress при создании экземпляра ServiceHost, но это тоже не помогло.
Мой сервисHost определен как:
serviceHost = new ServiceHost( typeof( CalculatorService ),
new Uri( "http://localhost:8000/ServiceModelSamples/service" ) );
Имя моей службы, базовый адрес и конечная точка:
<service name="Microsoft.ServiceModel.Samples.CalculatorService" behaviorConfiguration="CalculatorServiceBehavior">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8000/ServiceModelSamples/service"/>
</baseAddresses>
</host>
<endpoint address="" binding="wsHttpBinding" contract="Microsoft.ServiceModel.Samples.ICalculator"/>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
Я подтвердил, что пространства имен идентичны. Просто разочаровывает, что учебники, кажется, предполагают, что служба Windows будет запускаться, пока все указанные шаги выполняются. Я что-то упустил, и это, вероятно, прямо передо мной. Пожалуйста, помогите!