2016-01-30 4 views
2

Я разрабатываю приложение WCF, привязка которого должна быть «netTcpBinding», но когда я запускаю ее в Visual Studio 2013, я получаю эту ошибку «Невозможно получить метаданные http:// localhost: 62081/Queue.svc ". Я интенсивно искал, но не нашел примера, где работает. Я хотел бы понять, как это работает. Благодаря!!! Ниже вы найдете мой веб-конфиг:Каков правильный способ настройки netTcpBinding в WCF 4.X

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
<appSettings> 
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" /> 
</appSettings> 
<system.web> 
    <compilation debug="true" targetFramework="4.5" /> 
</system.web> 
<system.serviceModel> 
    <behaviors> 
    <serviceBehaviors> 
     <behavior name="QueueBehavior"> 
     <serviceDebug includeExceptionDetailInFaults="true" /> 
     <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" /> 
    </behavior> 
    </serviceBehaviors> 
    </behaviors> 
    <services> 
    <service behaviorConfiguration="QueueBehavior" name="ComponenteCola.Queue"> 
     <endpoint address="" binding="netTcpBinding" bindingConfiguration="" 
     name="QueueNetTcpEndPoint" contract="ComponenteCola.IQueue" /> 
     <endpoint address="mex" binding="mexTcpBinding" bindingConfiguration="" 
     name="NetTcpMetadataPoint" contract="IMetadataExchange" /> 
     <host> 
     <baseAddresses> 
      <add baseAddress="net.tcp://localhost:57965/Queue" /> 
     </baseAddresses> 
     </host> 
    </service> 
    </services> 
</system.serviceModel> 
</configuration> 

ответ

0

Надежда все еще помогает

Я думаю, что нужно фактический URL метаданных, попробуйте добавить как этого

<baseAddresses> 
     <add baseAddress="net.tcp://localhost:57965/Queue" /> 
     <add baseAddress="http://localhost:62081/Queue/mex" /> 
</baseAddresses> 

Я работаю с резидентным WCF Services с .NET 4, но я не думаю, что будет много разногласий.

HTH

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