Abdirizak Mohamed Ответов: 2

Невозможно получить доступ к службе WCF из интернета


У меня есть служба WCF под управлением моего локального IIS
[^]
Когда я получаю доступ к локальному, все в порядке, но когда я пытаюсь получить доступ через Интернет, используя общедоступный IP, это сопоставление с моим локальным IP и Post,
после того как я добавлю службу Wcf в клиент и позвоню
Я Получил Эту Ошибку:
There was no endpoint listening at http://abdirizak-pc:90/HelloService.svc/HelloService that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException,


спасибо за Вашу помощь...

Что я уже пробовал:

Мой Конфигурационный Файл :
<?xml version="1.0"?>
<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior name="mexbehavior">
          <serviceMetadata httpGetEnabled="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <services>
      <service behaviorConfiguration="mexbehavior" name="HelloService.HelloService">
        <endpoint address="HelloService" binding="basicHttpBinding" contract="HelloService.IHelloService"/>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:90"/>
          </baseAddresses>
        </host>
      </service>
    </services>
  </system.serviceModel>
  <system.web>
    <compilation debug="true" targetFramework="4.5.2" />
    <httpRuntime targetFramework="4.5.2" />
  </system.web>
</configuration>

F-ES Sitecore

Вы не можете иметь привязку конечной точки как localhost, это должно быть общедоступное имя хоста, так что публичный IP-адрес или что-то еще.

2 Ответов

Рейтинг:
1

#realJSOP

Это потому что вы используете localhost Вы должны использовать IP-адрес машины, на которой размещена служба.


Рейтинг:
0

Aditi-Systematix

Поскольку на базовом адресе вы должны указать адрес локального хоста, вы должны указать свой публичный i.p-адрес здесь или url-адрес вашего сервера. И если он также не работает, то вы должны добавить несколько конечных точек.

<endpoint name="basicHttpEndpoint"

                  address=""

                  binding="basicHttpBinding"

                  bindingConfiguration="basicHttpBindingConfig"

                  contract="IService1" />
        <endpoint name="webHttpEndpoint"

                  address="/support"

                  binding="webHttpBinding"

                  bindingConfiguration="webHttpBindingConfig"

                  contract="IService1"

                  behaviorConfiguration="jsonBehaviour" />
        <endpoint name="mexHttpEndpoint"

                  address="/mex"

                  binding="mexHttpBinding"

                  contract="IMetadataExchange" />