У меня есть простое веб-приложение ASP.NET, которое использует WCF-клиент, чтобы поговорить с простой службой Windows, поддерживаемой WCF.WCF, клиент не может подключиться, если на той же машине
Все работало нормально в местных условиях. Мы развернулись к dev, что также отлично работало. Однако на DEV - веб-сервер и сервер приложений находятся на одной машине.
Теперь, когда мы развернулись к QA, мы получаем «Соединение сокетов было прервано. 'исключение бросается незамедлительно. По какой-то причине наш веб-сервер QA не может разговаривать с нашим сервером приложений QA через наш клиент/услугу WCF. я могу пинговать сервер QA приложение с веб-сервера я могу телнет сервер QA приложения с веб-сервера я могу подключиться к HTTP WSDL на сервере QA приложений с веб-сервера
И, я могу подключиться FINE для моей службы QA из моей локальной/визуальной студии !!!
Итак, почему мое приложение QA ASP.NET не работает с моей службой Windows WCF QA? Я попробовал и всячески, и до сих пор не идут ...
Вот мой System.ServiceModel раздел на клиенте:
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="BigFileBinding">
<!-- required to receive files greater then default size of 16kb -->
<readerQuotas maxArrayLength="5242880"/>
</binding>
</netTcpBinding>
</bindings>
<client>
<endpoint address="net.tcp://NJQACNET01:58887/PriceService"
binding="netTcpBinding"
contract="IPriceService"
bindingConfiguration="BigFileBinding"/>
</endpoint>
</client>
</system.serviceModel>
Вот мой system.serviceModel раздел на сервисе:
<system.serviceModel>
<bindings>
<netTcpBinding>
<!-- required to receive files greater then default size of 16kb -->
<binding name="BigFileBinding"
maxReceivedMessageSize="5242880">
<readerQuotas maxArrayLength="5242880"/>
</binding>
</netTcpBinding>
</bindings>
<services>
<service behaviorConfiguration="MetaDataBehavior" name="RK.Pricing.PricingPortal.MarketableSecuritiesService.PriceService">
<endpoint address="net.tcp://localhost:58887/PriceService" binding="netTcpBinding"
contract="RK.Pricing.PricingPortal.MarketableSecuritiesService.IPriceService" bindingConfiguration="BigFileBinding" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:58889/PriceService" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="MetaDataBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
Благодарим за помощь! Приветствуется.
Я могу подключиться к одному и тому же порту с сервера на сервер приложений без проблем ... ТАКЖЕ, я просто попытался установить «security mode =« none »на клиентском и сервере, и теперь все работает. .. но по какой цене ..? ..... – dferraro
Стоимость будет заключаться в том, что любой клиент может позвонить вам. Отключение защиты не рекомендуется. Ознакомьтесь с рекомендациями, на которые я ссылался в своем ответе. –
@dferraro, какими были ваши настройки безопасности, прежде чем вы их не изменили? Является ли сервер ASP.net в том же домене? Какой пользовательский контекст является вызовом с сервера ASP.Net на сервер WCF? –