Попытка загрузки метаданных из net.pipe://localhost/abc.svc с использованием WS-Metadata Exchange. Этот URL не поддерживает DISCO
Получил эту ошибку при генерации прокси с помощью svcutil:
"Attempting to download metadata from 'net.pipe://localhost/abc.svc' using WS-Metadata Exchange. This URL does not support DISCO."
Сервис скомпилирован без ошибок и нормально работает с http
ранее. Сгенерированный wsdl работает нормально для net.pipe
тоже без проблем даже после ошибки при генерации прокси с svcutil.
Чтобы убедиться, что генерируются новые генерируемые файлы, я удалил все старые файлы и затем сгенерировал файлы с помощью svcutil, а затем использовал их. Это дает ту же ошибку, а также генерирует файлы, которые при использовании не создают проблем при использовании сервисов.
Я просто озадачен, почему эта ошибка возникает, когда все работает нормально.
2 ответа
Это не сообщение об ошибке. Я бы сказал, просто ИНФОРМАЦИЯ, даже не ПРЕДУПРЕЖДЕНИЕ...
Я думаю, у вас есть что-то вроде следующего конфига и попробуйте запустить svcutil на net.pipe.
<service name="Service" ...>
<host>
<baseAddresses>
<add baseAddress="net.pipe://localhost/" />
</baseAddresses>
</host>
<endpoint address="Service"
binding="netNamedPipeBinding"
contract="IService" />
<endpoint address="Service/mex"
binding="mexNamedPipeBinding"
contract="IMetadataExchange" />
</service>
...
<serviceMetadata httpGetEnabled="False" />
svcutil выдаст сообщение типа "Этот URL не поддерживает DISCO" и все равно успешно сгенерирует файлы
Теперь вы можете изменить serviceMetadata на
<serviceMetadata httpGetEnabled="True" httpGetUrl="http://localhost:8182/Service/mex" />
и беги к примеру
svcutil.exe /t:code /l:cpp /ser:Auto http://localhost:8182/Service/mex
Он сгенерирует тот же код клиентского прокси, что и на net.pipe, но теперь со следующим выводом...
Attempting to download metadata from 'http://localhost:8182/Service/mex' using WS-Metadata Exchange or DISCO.
Pranav,
ваша мекс конечная точка верна. Когда вы используете netNamedPipeBinding или netTcpBinding, вам необходимо выполнить некоторые настройки в службах и IIS.
Направление службы WCF хостинга с помощью netTcpBinding или netNamedPipeBinding в IIS