2016-07-09 17 views
0

machte ich einen WCF mit drei Methoden:definieren baseURL und EndPoint

[ServiceContract] 
public interface IService1 
{ 
    [OperationContract] 
    String devolverPisosA(); 

    [OperationContract] 
    String devolverPisosV(); 

    [OperationContract] 
    String devolverNoticias(); 
} 

I baseaddress und EndPoint in Web.config Datei definieren müssen, aber ich weiß nicht, wie:

Ich versuche das (und einige Variationen), aber das funktioniert nicht ... (zwischen system.serviceModel)

<services> 
     <service 
     name="ProyectoJosephWCF.Service1"> 
     <host> 
      <baseAddresses> 
      <add baseAddress="http://localhost:8000/Iservice1/"/> 
      </baseAddresses> 
     </host> 

    <endpoint address="devolverPisoA" 
       binding="wsHttpBinding" 
       contract="ProyectoJosephWCF.Service1" /> 
    <endpoint address="devolverPisoV" 
       binding="wsHttpBinding" 
       contract="ProyectoJosephWCF.Service1" /> 
    <endpoint address="devolverNoticias" 
       binding="wsHttpBinding" 
       contract="ProyectoJosephWCF.Service1" /> 

    </service> 
</services> 

EDITED: Wenn ich bin nicht vor der baseaddress und Endpunkt definiert (mit Standardkonfiguration, die erstellt wurde, wenn ich das Projekt erstellt), und ich startete die Services1.svc, kann ich das Ergebnis json durch Testen Fenster erreichen, aber ich kann (Oder zumindest weiß ich nicht wie) um das JSON-Ergebnis von Android (von Retrofit) zu erreichen. Ich nahm an, dass ich Retrofit (baseaddress und Endpoint-Werte falsch) konfiguriert, so entschied ich mich durch meine eigene, diese Werte zu setzen ... Dafür habe ich den Code vor Web.config in gesetzt, aber ich kann nicht erreichen, sie als gut ...

Neben, würde ich mag JSON Ergebnis von Mozilla erreichen (in Browser ich meine), weil mir jemand gesagt, dass mir helfen, verstehen zu können, was baseaddress und Endpoint ich bin mit ...

EDITED2: Behaviors sind Einstellungen wie:

<behaviors> 
     <serviceBehaviors> 
     <behavior> 
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/> 
      <serviceDebug includeExceptionDetailInFaults="false"/> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 

Und noch Reichweite Ergebnis dont von Android oder Browser ...

+1

* ist nicht funktioniert * eine sehr schlechte Beschreibung - was ist ** nicht ** zu arbeiten? Erhalten Sie einen Fehler - bitte posten Sie die vollständige und vollständige Fehlermeldung hier! Erhalten Sie überhaupt keine Antwort? Eine falsche Antwort? Wenn ja: Wie kannst du sagen, dass es falsch ist, was hast du erwartet und was hast du stattdessen bekommen? –

Antwort

0

Schließlich ... Probieren Sie es aus, wenn Sie es brauchen.

<behaviors> 
    <serviceBehaviors> 

    <behavior name="ServiceBehavior" > 
     <serviceMetadata httpGetEnabled="true" /> 
     <serviceDebug includeExceptionDetailInFaults="false" /> 
    </behavior> 


    <behavior> 
     <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above 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> 

Und:

 [OperationContract] 
     [WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json, UriTemplate = "devolverPisoA")] 
     List<pisosAlquiler> devolverPisosA(); 
0

müssen Sie httpGetEnabled="true" festlegen für wie WSDL zur Verfügung, die unter

<behaviors> 
<serviceBehaviors> 
    <behavior name="NewBehavior"> 
    <serviceMetadata httpGetEnabled="true" /> 
    </behavior> 
</serviceBehaviors> 
</behaviors> 

Fügen Sie das gleiche Verhalten Konfiguration in Ihrem Service Erklärung wie

 <service name="ProyectoJosephWCF.Service1" 
behaviorConfiguration="NewBehavior"> 

Siehe serviceMetadata für mehr Information.

+0

Bearbeitet für Ihre Überlegung @Rahul –

+0

@EliasMP, Einstellung des Verhaltens ist nicht genug ... Sie müssen es mit Service-Konfiguration binden. Siehe richtig antworten. – Rahul

+0

Nun, ich habe es geschafft, aber es sieht nicht anders aus ... Welcher URL ist derjenige, der JSON-Ergebnisse per Browser zurückgibt? @ Rahul –