WCF na IIS nie widzi HTTP Request

Odpowiedz Nowy wątek
2016-12-09 12:31
Czarny Terrorysta
0

Cześć,

Stworzyłem WCF service z jedną operacją - HTTP Get
Tak wygląda serwis:

 [ServiceContract]
    public interface IService1
    {

        [OperationContract]
        [WebGet(UriTemplate = "/GetJOSNMessage",
        RequestFormat = WebMessageFormat.Json,
        ResponseFormat = WebMessageFormat.Json)]
        string GetData();
    }

 public class Service1 : IService1
    {
        public string GetData()
        {
            return string.Format("You entered: ");
        }
    }

A tak wygląda web.config

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

  <appSettings>
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true"/>
  </appSettings>

  <system.web>
    <compilation debug="true" targetFramework="4.5.2"/>
    <httpRuntime targetFramework="4.5.2"/>
    <httpModules>
      <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web"/>
    </httpModules>
  </system.web>

  <system.serviceModel>
    <services>

      <service name="RallyCharityService.Service1" >
        <endpoint address=""
                  binding="webHttpBinding"
                  behaviorConfiguration="webBehavior"  
                  contract="RallyCharityService.IService1">
          <identity>
            <dns value="localhost"/>
          </identity>

        </endpoint>
        <endpoint address="mex"
                  binding="mexHttpBinding"
                  contract="IMetadataExchange"/>

      </service>

    </services>
    <behaviors>

      <endpointBehaviors>
        <behavior name="webBehavior">
          <webHttp/>
        </behavior>
      </endpointBehaviors>

      <serviceBehaviors>
        <behavior>
          <!-- To avoid disclosing metadata information, set the values below to false before deployment -->
          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="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="basicHttpsBinding" scheme="https"/>
    </protocolMapping>    
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>
  </system.serviceModel>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
      <remove name="ApplicationInsightsWebTracking"/>
      <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web"
        preCondition="managedHandler"/>
    </modules>
    <!--
        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"/>
    <validation validateIntegratedModeConfiguration="false"/>
  </system.webServer>

</configuration> 

Gdy odpalam WCF przez IIS Express, po wpisaniu w przeglądarkę żądania wszystko działa - żądanie powoduje uruchomienie funkcji GetData()
Natomiast gdy odpalam Local IIS to wszystko się sypie...

Dostaje błąd kiedy wysyłam żądanie HTTP GET:
Błąd HTTP 404.0 — Not Found
Zasób, do którego chcesz uzyskać dostęp, został usunięty, jego nazwa uległa zmianie lub jest okresowo niedostępny.

Pozostało 580 znaków

2016-12-09 12:38
0

debuguj i czytaj exceptiony, sprawdź czy serwer w ogóle stoi jak wysyłasz request

jak nie to debuguj i sprawdź dlaczego nie stoi, itd itd

Pozostało 580 znaków

2016-12-09 12:45
0

A jaki podajesz adres? Adres dla Local IIS będzie inny niż dla IIS Express.


Yubby dibby dibby dibby dibby dibby dibby dum..

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0