WCF Service Name & Binding Name

Сценарий

У меня есть две WCF Services, объединенные в отдельном приложении. Файл конфигурации. Я не могу получить вещь работать (компиляции приложения, но сбои при инициализации сервисов).

Вопрос

Я задаюсь вопросом, должен ли я определить сервисное имя для совпадения с чем-то еще, что также определяется как часть сервиса в целом?

ОШИБКА

TypeInitializationException

{"Сервис '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>
5
задан Goober 6 April 2010 в 13:56
поделиться

1 ответ

Имя службы должно быть полным именем вашего класса службы, включая пространство имен, например

<service name="YourServiceNamespace.YourService"> 

Это не может быть что угодно - имя класса службы используется ServiceHost , чтобы найти правильную конфигурацию службы.

32
ответ дан 18 December 2019 в 05:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: