2011-08-22 78 views
1

錯誤:找不到,在ServiceModel客戶端配置單元參考合同「LDServiceHost.ILDService」默認終結點元素

找不到默認終結點元素引用合同 「LDServiceHost.ILDService」在ServiceModel客戶端配置 部分。這可能是因爲沒有爲您的應用程序找到配置文件 ,或者因爲在客戶端元素中找不到與此 合同匹配的端點元素。

App.Config中:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <configSections> 
    </configSections> 
    <system.diagnostics> 
    <sources> 
     <source name="System.ServiceModel" switchValue="Warning, ActivityTracing" 
      propagateActivity="true"> 
     <listeners> 
      <add type="System.Diagnostics.DefaultTraceListener" name="Default"> 
      <filter type="" /> 
      </add> 
      <add name="ServiceModelTraceListener"> 
      <filter type="" /> 
      </add> 
     </listeners> 
     </source> 
     <source name="System.ServiceModel.MessageLogging" switchValue="Warning, ActivityTracing"> 
     <listeners> 
      <add type="System.Diagnostics.DefaultTraceListener" name="Default"> 
      <filter type="" /> 
      </add> 
      <add name="ServiceModelMessageLoggingListener"> 
      <filter type="" /> 
      </add> 
     </listeners> 
     </source> 
    </sources> 
    <sharedListeners> 
     <add initializeData="C:\_Demos\EF Code Samples\EFLayers\LDPresentation\app_tracelog.svclog" 
      type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
      name="ServiceModelTraceListener" traceOutputOptions="Timestamp"> 
     <filter type="" /> 
     </add> 
     <add initializeData="C:\_Demos\EF Code Samples\EFLayers\LDPresentation\app_messages.svclog" 
      type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
      name="ServiceModelMessageLoggingListener" traceOutputOptions="Timestamp"> 
     <filter type="" /> 
     </add> 
    </sharedListeners> 
    <trace autoflush="true" /> 
    </system.diagnostics> 



    <system.serviceModel> 
     <bindings> 
      <wsHttpBinding> 
       <binding name="WSHttpBinding_ILDService" closeTimeout="00:01:00" 
        openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" 
        bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" 
        maxBufferPoolSize="524288" maxReceivedMessageSize="65536" 
        messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" 
        allowCookies="false"> 
        <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" 
         maxBytesPerRead="4096" maxNameTableCharCount="16384" /> 
        <reliableSession ordered="true" inactivityTimeout="00:10:00" 
         enabled="false" /> 
        <security mode="Message"> 
        <transport clientCredentialType="Windows" proxyCredentialType="None" 
         realm="" /> 
        <message clientCredentialType="Windows" negotiateServiceCredential="true" 
         algorithmSuite="Default" establishSecurityContext="true" /> 
        </security> 
       </binding> 
      </wsHttpBinding> 
     </bindings> 

     <diagnostics> 
     <messageLogging logMalformedMessages="true" logMessagesAtTransportLevel="true" /> 
     </diagnostics> 

     <client> 
      <endpoint address="http://localhost:8732/Design_Time_Addresses/LibraryService/LDService/" 
       binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ILDService" 
       contract="LDServiceHost.ILDService" name="WSHttpBinding_ILDService"> 
       <identity> 
        <dns value="localhost" /> 
       </identity> 
      </endpoint> 
     </client> 
    </system.serviceModel> 
</configuration> 

如何解決?

+0

在創建服務代理時是否傳遞了端點名稱WSHttpBinding_ILDService?你可以發佈你的客戶端代碼的那部分? – mthierba

+0

下載解決方案。 – mrJack

回答

1

您的配置位於庫項目中。配置文件是應用程序不是特定於.NET庫,因此配置需要在.exe不在DLL中

將您的DLL配置的system.serviceModel部分複製到您的應用程序的配置文件,它應該找到它確定

BTW:它通常最好保持一個問題都在一個地方,而不是添加鏈接到外部網站 - 這些都讓不同步的習慣誰誰的問題最終沒有做出太大的意義

相關問題