Использование службы WCF - PullRequest
1 голос
/ 22 мая 2010

Я создал службу WCF, которая размещается в службе Windows. Я создал прокси используя svcutil «Svcutil.exe http://localhost:8000/ServiceModelSamples/FreeServiceWorld?wsdl

Он сгенерировал файл output.config и прокси-класс.

output.config имеет следующий элемент

<client>
    <endpoint address="http://localhost:8000/ServiceModelSamples/FreeServiceWorld"
        binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IWeather"
        contract="IWeather" name="WSHttpBinding_IWeather">
        <identity>
            <servicePrincipalName value="host/sdfsf.sdfs.com" />
        </identity>
    </endpoint>
 </client>

Я создал веб-сайт (как клиент) и добавил в него новый файл C # (MyFile.cs). Я скопировал содержимое прокси-класса в MyFile.cs. [Output.config не копируется на веб-сайт]

В коде behnid aspx я использую следующий код Клиент WeatherClient = новый WeatherClient ("WSHttpBinding_IWeather");

Выдает исключение: «Не удалось найти элемент конечной точки с именем« WSHttpBinding_IWeather »и контрактом« IWeather »в разделе конфигурации клиента ServiceModel».

Не могли бы вы помочь мне понять отсутствующую ссылку здесь?

1 Ответ

2 голосов
/ 22 мая 2010

Вам необходимо добавить элементы в output.config на web.config веб-сайта, чтобы клиент знал, где искать услугу.Если клиент не работает на той же машине, что и служба, вам нужно обменять localhost на IP-адрес или имя хоста машины, на которой запущена служба.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...