Мой первый пост о Stackoverflow!
У меня возникли некоторые проблемы с сервисом WCF, который я пытаюсь создать, и мне нужна помощь, чтобы понять это.
Есть дваЧасти к сервису, первый - это очень простой веб-сервис в стиле REST, полный методов GET, он отлично работает.
Следующая область - это модель Pub / Sub, которая в основном будет выдавать подписчикам внутренние результатыконкретный метод вызова из первой области.Чтобы включить это, я слушаю две конечные точки, теперь каждый раз, когда я вызываю один метод в сервисе PubSub, я получаю ошибку выше.После поиска в веб-ящике я видел много сообщений о том, что IIS по умолчанию использует порт 80.
Теперь два вопроса: 1. Мой сервис прослушивает следующий базовый адрес, не имеющий отношения к 80 http://localhost:3526/TradePortal и http://localhost:3526/TradePortal/Operations 2. В идеале я бы разместил это в IIS
. Я предлагаю изменить базовый адрес клиента, чтобы он не использовал порт 80, но установлен ли он на стороне сервера илиКонфигурация на стороне клиента.
Я немного озадачен решением этой проблемы. Ранее я создал модель pubsub с использованием NetTCP в качестве привязки.
Любые подсказки относительно того, как решить эту проблемуэто будет приветствоваться
Конфигурация на стороне сервера:
<system.serviceModel>
<services>
<service behaviorConfiguration="Default" name="CFP_Web_Lib.TradePortal">
<host>
<baseAddresses>
<add baseAddress="http://localhost:3526/TradePortal"/>
</baseAddresses>
</host>
<endpoint address="" binding="webHttpBinding"
contract="CFP_Web_Lib.ITradePortal"
behaviorConfiguration="web"
/>
<endpoint address="Operations/" binding="wsDualHttpBinding"
contract="CFP_Web_Lib.ITradeOperations"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="Default">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="web">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
Код на стороне клиента (автоматически генерируется VS2010)
<system.serviceModel>
<bindings>
<wsDualHttpBinding>
<binding name="WSDualHttpBinding_ITradeOperations" 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">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<reliableSession ordered="true" inactivityTimeout="00:10:00" />
<security mode="Message">
<message clientCredentialType="Windows" negotiateServiceCredential="true" />
</security>
</binding>
</wsDualHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:3526/TradePortal/Operations/"
binding="wsDualHttpBinding" bindingConfiguration="WSDualHttpBinding_ITradeOperations"
contract="CFP_Web.ITradeOperations" name="WSDualHttpBinding_ITradeOperations">
<identity>
<userPrincipalName value="callison@cfpartners.local" />
</identity>
</endpoint>
</client>
</system.serviceModel>