Служба WCF не работает на других устройствах, кроме сервера - PullRequest
0 голосов
/ 14 октября 2019

У меня есть служба WCF, которая отлично работает на моей серверной машине с использованием IP, она работала на стороне клиента (android studio), но вдруг она перестала работать, я перепробовал все решения из интернета, но, похоже, ничего не помогло, Сервис по-прежнему работаетБраузер сервера / Почтальон.

Вот мой файл web.config, если он требуется:

<?xml version="1.0"?> 
<configuration>

<appSettings>
<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.7.2" />
<httpRuntime targetFramework="4.7.2"/>
</system.web>
<system.serviceModel>
<services>
  <service name="WcfService.Service1" behaviorConfiguration="WCFService.Service1Behavior">
    <!-- Service Endpoints -->
    <endpoint address="" binding="webHttpBinding" behaviorConfiguration="myWeb" contract="WcfService.IService1">
      <!-- 
          Upon deployment, the following identity element should be removed or replaced to reflect the 
          identity under which the deployed service runs.  If removed, WCF will infer an appropriate identity 
          automatically.
      -->
      <identity>
        <dns value="localhost"/>
      </identity>
    </endpoint>
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
  </service>
</services>
<behaviors>
  <endpointBehaviors>
    <behavior name="myWeb">
      <webHttp/>
    </behavior>
  </endpointBehaviors>
  <serviceBehaviors>
    <behavior name="WCFService.Service1Behavior">
      <!-- To avoid disclosing metadata information, set the value below to false before deployment -->
      <serviceMetadata httpGetEnabled="true"/>
      <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
      <serviceDebug includeExceptionDetailInFaults="false"/>
    </behavior>
  </serviceBehaviors>
</behaviors>
<protocolMapping>
    <add binding="basicHttpBinding" scheme="http" />
</protocolMapping>    
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
<!--
    To browse web app root directory during debugging, set the value below to true.
    Set to false before deployment to avoid disclosing web app folder information.
  -->
 <directoryBrowse enabled="true"/>

 </system.webServer>

 </configuration>

Также мой Брандмауэр полностью отключен. Когда я пингую сервис с мобильного или другого компьютера, он выдает ошибку: этот сайт недоступен. Err_Address_Unreachable

Ответы [ 2 ]

0 голосов
/ 16 октября 2019

Если брандмауэр вашего компьютера отключен, проверьте, есть ли на вашем маршрутизаторе брандмауэр, и отключите его.

0 голосов
/ 15 октября 2019

Во-первых, можете ли вы успешно вызвать службу с другого компьютера в той же локальной сети?
Во-вторых, каков IP-адрес вашего мобильного устройства?
Наконец, вы попытались перезагрузить маршрутизатор / коммутатор втекущая локальная сеть? Возможно, что-то не так с устройством маршрутизатора, которое обеспечивает функцию адресации.
Не стесняйтесь, дайте мне знать, если есть что-то, с чем я могу помочь.

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