WCF 服务名称和绑定(bind)名称

标签 wcf service

设想
我有两个 WCF 服务组合在一个 App.Config 文件中。
我无法让东西运行(应用程序编译但在服务初始化时失败)。
问题
我想知道是否需要将服务名称设置为与其他也被定义为整体服务一部分的名称相同?
错误
类型初始化异常
{"Service 'MurexUploadObjects.ResponseService' 有零个应用程序(非基础设施)端点。这可能是因为没有为您的应用程序找到配置文件,或者因为在配置文件中找不到与服务名称匹配的服务元素,或者因为服务元素中没有定义端点。"}
代码

<system.serviceModel>
<configuration>

<behaviors>
 <serviceBehaviors>
   <behavior name="Service1Bevhavior">
   </behavior>
   <behavior name="Service2Bevhavior">
   </behavior>
   </serviceBehaviors>
  </behaviors>

   <bindings>
    <netTcpBinding>
      <binding name="tcpBloombergServiceEndPoint" closeTimeout="00:01:00"
          openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
          transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions"
          hostNameComparisonMode="StrongWildcard" listenBacklog="10" maxBufferPoolSize="524288"
          maxBufferSize="65536" maxConnections="10" maxReceivedMessageSize="65536">
       <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
      maxBytesPerRead="4096" maxNameTableCharCount="16384" />
       <reliableSession ordered="true" inactivityTimeout="00:05:00"
      enabled="true" />
       <security mode="None">
       <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
       <message clientCredentialType="Windows" />
       </security>
     </binding>

     <binding name="TransactedBinding">
     <security mode="None" />
     </binding>

   </netTcpBinding>
   </bindings>

 <services>

 <!--SERVICE ONE-->
 <service name="INSERT NAME HERE">
   <endpoint address="net.tcp://AP434190:8732/BloombergService/"
binding="netTcpBinding"
contract="BloomberPriceListenerService.IBloombergPriceListenerService"
bindingConfiguration="tcpBloombergServiceEndPoint"
name="tcpBloombergServiceEndPoint" />
 </service>

 <!--SERVICE TWO-->
 <service name="INSERT NAME HERE">
   <endpoint address="net.tcp://localhost:8735/private/MurexUploadObjects/ResponseService"
               binding="netTcpBinding"
               contract="MurexUploadObjects.IResponseService"
               bindingConfiguration="TransactedBinding"
               name="TransactedBinding"/>
   </service>
 </services>   

</system.serviceModel>  
</configuration>

最佳答案

服务名称必须是服务类的完全限定名称,包括命名空间,例如

<service name="YourServiceNamespace.YourService"> 

它不能只是任何东西 - 服务类的名称由 ServiceHost 使用找到正确的服务配置。

关于WCF 服务名称和绑定(bind)名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2585256/

相关文章:

c# - 尝试调用 Web 服务时出现 channel 超时错误

c# - WCF 每个连接服务器证书验证

c# - 为什么使用 HttpWebResponse 时会收到错误请求(代码 400)?

windows - 按特定顺序运行 Windows 服务

wcf - SOAP、JSON 和 POX 在同一个安静的 wcf 中

wcf - 无法加载 DLL 'mqrt.dll'

android - 如果服务停止,后台线程会发生什么?

android - 有什么方法可以绑定(bind)动态壁纸服务吗?

javascript - 将 angularjs 与静态 jsonp 一起使用只能使用一次

安卓 : Unable to set action in CONNECTIVITY_CHANGE in my service