簡體   English   中英

找不到引用合同的默認端點元素

[英]Could not find default endpoint element that references contract

我已經從控制台應用程序(HOST)自行托管了WCF服務。 我正在從另一個控制台應用程序(PARENT)調用主機。 當我運行PARENT時,一切正常,就像成功托管WCF一樣,並且服務引用實例也已創建。 PARENT應用程序實際上是另一個大型非托管應用程序(BIG A)的插件。 當我從BIG A啟動PARENT應用程序時,控制台應用程序將成功自行托管服務。 但是,在創建服務實例時出現以下錯誤。

在ServiceModel客戶端配置部分中找不到引用合同'CalculatorServiceReference.ICalculatorService'的默認終結點元素。 這可能是因為找不到您的應用程序的配置文件,或者是因為在客戶端元素中找不到與該協定匹配的端點元素。

配置文件如下。

•HOST的配置文件

<?xml version="1.0" encoding="utf-8" ?>    
<configuration>    
 <system.serviceModel>    
 <behaviors>    
 <serviceBehaviors>    
 <behavior name="NewBehavior">    
 <serviceMetadata httpGetEnabled="true" httpsGetEnabled="false" />    
 </behavior>    
 </serviceBehaviors>    
 </behaviors>    
 <services>    
 <service behaviorConfiguration="NewBehavior" name="HybridCalcService.CalculatorService">    
 <clear />    
 <endpoint address="mex" binding="mexHttpBinding" name="Mex" contract="IMetadataExchange" 
 listenUriMode="Explicit">    
 </endpoint>    
 <endpoint address="net.tcp://localhost:8523/CalcService" binding="netTcpBinding"    
 name="Tcp" contract="HybridCalcService.ICalculatorService" listenUriMode="Explicit">

 </endpoint>

 <endpoint address="HTTP" binding="basicHttpBinding" bindingConfiguration=""    
 name="HTTP" contract="HybridCalcService.ICalculatorService" />    
 <host>

 <baseAddresses>    
 <add baseAddress="http://localhost:8080/Hybridservice" />    
 </baseAddresses>    
 </host>    
 </service>    
 </services>       
 </system.serviceModel>    
</configuration>

•並且PARENT的配置是

<?xml version="1.0" encoding="utf-8" ?>    
<configuration>    
 <system.serviceModel>    
 <behaviors>    
 <serviceBehaviors>    
 <behavior name="NewBehavior">    
 <serviceMetadata httpGetEnabled="true" httpsGetEnabled="false" />    
 </behavior>    
 </serviceBehaviors>    
 </behaviors>    
 <services>

 <service behaviorConfiguration="NewBehavior" name="HybridCalcService.CalculatorService">    
 <clear />    
 <endpoint address="mex" binding="mexHttpBinding" name="Mex" contract="IMetadataExchange"   
 listenUriMode="Explicit">    
 </endpoint>    
 <endpoint address="net.tcp://localhost:8523/CalcService" binding="netTcpBinding"    
 name="Tcp" contract="HybridCalcService.ICalculatorService" listenUriMode="Explicit">    
 </endpoint>    
 <endpoint address="HTTP" binding="basicHttpBinding" bindingConfiguration=""    
 name="HTTP" contract="HybridCalcService.ICalculatorService" />    
 <host>    
 <baseAddresses>    
 <add baseAddress="http://localhost:8080/Hybridservice" />
 </baseAddresses>    
 </host>    
 </service>    
 </services>    
 </system.serviceModel>    
</configuration>

誰能幫助我解決這個問題?

我相信配置信息必須在主應用程序的配置文件中。 將該信息添加到BigA的配置中應該可以解決該問題。

看起來與我對自定義渠道所做的非常相似。 如果我沒記錯的話,這將進入主機,然后在其他配置中不需要任何東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM