как подключиться к веб-сервису WCF внутри локальной сети - PullRequest
0 голосов
/ 22 мая 2011

Я использую веб-сервис wcf в своем проекте (сервер-клиент) в режиме локального хоста, и он отлично работает

теперь мне нужно подключиться к этому сервису с другого компьютера в той же локальной сети

что я должен изменить в файле конфигурации в моем клиенте?

Я изменил конечную точку моего клиента на IP-адрес компьютера, который содержит локальный сервер и не может подключиться!

<endpoint address="http://10.131.40.22:8732/Design_Time_Addresses/WcfServiceLibrary_Test/Service1/"
                binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_RepositoryManager"
                contract="onlineExchangeCenter.RepositoryManager" name="WSHttpBinding_RepositoryManager">
                <identity>
                    <dns value="localhost" />
                </identity>
            </endpoint>

Ответы [ 2 ]

1 голос
/ 22 мая 2011

Какие ошибки вы получаете?Проблема может быть связана с брандмауэром.

Обычно я предоставляю конечную точку MEX на сервере, а затем генерирую файлы конфигурации клиента через SVCutil.

0 голосов
/ 22 мая 2011

Во-первых - вам нужно добавить новую конечную точку к вашей услуге - для подключения внутри вашей корпоративной локальной сети я бы порекомендовал netTcpBinding:

<service name="someservice" behaviorConfiguration="....">
   <endpoint name="existing"
       address="......" 
       binding="wsHttpBinding"
       contract="onlineExchangeCenter.RepositoryManager" />

   <!-- add this *NEW* netTcpBinding endpoint -->
   <endpoint name="corporateLAN"
       address="net.tcp://YourServer:7171/YourService/SomeUrl" 
       binding="netTcpBinding"
       contract="onlineExchangeCenter.RepositoryManager" />
</service>

После того, как вы это установили, вам следует обновить ваш клиент - либо «щелкнуть правой кнопкой мыши» по ссылке на вашу службу в Visual Studio и выбрать «Обновить ссылку на службу», либо вручную добавить эту информацию о конечной точке на стороне клиента. config, чтобы ваш клиент теперь подключался к конечной точке netTcp на вашем сервере.

NetTcp хорош в среде LAN, но используемые порты должны быть открыты - если у вас есть какие-либо брандмауэры или ISA-серверы в вашей корпоративной среде, вам может понадобиться открыть эти порты, чтобы это работало

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...