0
我試圖獲得在Windows服務主機中工作的wcf服務。我目前收到錯誤「 」無法找到與具有綁定MetadataExchangeHttpBinding的端點匹配方案http的基地址,註冊的基地址方案爲[net.tcp]。「WCF無法找到與具有綁定的端點相匹配的方案http的基地址MetadataExchangeHttpBinding
我使用.NET Framework 4.5
我試圖讓tcp.net二進制服務。任何幫助讚賞。我創建的跟蹤文件 沒有幫助。這裏是我的[修訂]的app.config:
<?xml version="1.0" encoding="utf-8" ?>
<!-- IMPORTANT! To run this on your local machine, first follow instructions in http://support2.microsoft.com/kb/2785590 -->
<!-- You will run into tcp listen errors otherwise -->
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<system.serviceModel>
<services>
<service name="SettingsDB.Configuration" behaviorConfiguration="DefaultBehavior">
<endpoint binding="netTcpBinding" bindingConfiguration="max" contract="SettingsDB.IConfiguration" address="Settings" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:9000/SettingsService" />
</baseAddresses>
</host>
</service>
</services>
<bindings>
<netTcpBinding>
<binding name="max" maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxConnections="2147483647" maxReceivedMessageSize="2147483647" listenBacklog="2147483647" transactionFlow="false" portSharingEnabled="true">
<readerQuotas maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxDepth="2147483647" maxNameTableCharCount="2147483647" maxStringContentLength="2147483647" />
<reliableSession enabled="false" />
<security mode="None" />
</binding>
</netTcpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="DefaultBehavior">
<serviceMetadata httpGetEnabled="false" httpGetUrl="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
<system.diagnostics>
<sources>
<source name="System.ServiceModel" switchValue="Information, ActivityTracing" propagateActivity="true">
<listeners>
<add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="c:\Traces.svclog" />
</listeners>
</source>
</sources>
</system.diagnostics>
<system.web>
<compilation debug="true" />
</system.web>
<runtime>
<gcServer enabled="true" />
</runtime>
</configuration>
我現在收到錯誤「合同名稱」IMeta數據交換「無法在服務配置實施的合同列表中找到。將ServiceMetadataBehavior直接添加到配置文件或ServiceHost以啓用對此合同的支持。「 – 2014-09-30 00:46:29
對不起,我已更新我的答案。在服務中有雙重名稱,它應該按上述方式工作(適用於類似於我的設置至少) – Noctis 2014-09-30 01:32:44
謝謝,它讓我朝着正確的方向前進。現在我只需要弄清楚如何使用這項服務:) – 2014-09-30 15:23:40