[英]WCF-Communication with multiple endpoints
我有個問題。 我嘗試建立具有多個入口點的WCF通信。 但是它永遠無法正常工作,並且會顯示如下錯誤消息:
這是我的配置文件:
*
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
</appSettings>
<system.web>
<compilation debug="true" />
</system.web>
<system.serviceModel>
<services>
<service name="MwWcfLibrary.Service">
<endpoint address="net.tcp://localhost:8733"
binding="netTcpBinding"
bindingConfiguration=""
bindingName="Action"
name="ActionInterface"
contract="MwWcfLibrary.Actions.Interfaces.IAction">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex"
binding="mexTcpBinding"
bindingConfiguration=""
name="Mex"
contract="IMetadataExchange" >
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint binding="netTcpBinding"
address="net.tcp://localhost:8733"
bindingConfiguration=""
name="LifeSignInterface"
bindingName="LifeSign"
contract="MwWcfLibrary.LifeSign.Interfaces.ILifeSign" >
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint binding="netTcpBinding"
address="net.tcp://localhost:8733"
bindingConfiguration=""
name="DataInterface"
bindingName="Data"
contract="MwWcfLibrary.Notification.Interfaces.IData">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint binding="netTcpBinding"
address="net.tcp://localhost:8733"
bindingConfiguration=""
name="PublicDataInterface"
bindingName="PublicData"
contract="MwWcfLibrary.PublicData.Interfaces.IPublicData" >
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint binding="netTcpBinding"
address="net.tcp://localhost:8733"
bindingConfiguration=""
name="PublicStateInterface"
bindingName="PublicState"
contract="MwWcfLibrary.PublicState.Interfaces.IPublicState" >
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:8733//MwWcfLibrary" />
</baseAddresses>
<timeouts closeTimeout="00:00:30" />
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="false" httpsGetEnabled="false" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
*
有人知道我是否配置錯誤?
親切的問候。
編輯
您可能尚未實現以下接口之一: MwWcfLibrary.Actions.Interfaces.IAction
, MwWcfLibrary.LifeSign.Interfaces.ILifeSign
, MwWcfLibrary.PublicData.Interfaces.IPublicData
和MwWcfLibrary.PublicState.Interfaces.IPublicState
或其中一個或多個未使用[ServiceContract]
屬性修飾
在您的問題中包含實際錯誤而不是'{0}',您會看到Service
類未實現您的某些合同,該合同應至少如下所示:
class Service : IAction, ILifeSign, IPublicData, IPublicState
{
// implementation
}
另外,您的地址屬性似乎不正確,因為您定義了以// Mww ...結尾的基地址,但是在端點中,該地址比基地址短。 端點地址可以只是相對的,例如"Service"
。
先前
Service
元素引用一個類,該類是ServiceContract
接口的實現,該類屬於endpoint
合同屬性。 在這些屬性中驗證接口和類的標准名稱。
通過查看配置文件,您可以說類MwWcfLibrary.Service
實現了(裝飾有[ServiceContract]
)接口,稱為MwWcfLibrary.Actions.Interfaces.IAction
, MwWcfLibrary.LifeSign.Interfaces.ILifeSign
, MwWcfLibrary.PublicData.Interfaces.IPublicData
和MwWcfLibrary.PublicState.Interfaces.IPublicState
那似乎是錯誤的。 您是說要有兩個服務,每個服務有一個單獨的端點?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.