2016-07-09 2 views
0

Я сделал WCF с тремя методами:Определение BaseUrl и EndPoint

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

    [OperationContract] 
    String devolverPisosV(); 

    [OperationContract] 
    String devolverNoticias(); 
} 

мне нужно определить BaseAddress и ENDPOINT в Web.config файл, но я не знаю, как:

Я пытаюсь это сделать (и некоторые варианты), но это не работает ... (между 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: Если я раньше не определял baseAddress и конечную точку (используя конфигурацию по умолчанию, созданную при создании проекта), и я запустил Service1.svc, я могу получить результат json через тестирование окон, но я могу (Или, по крайней мере, я не знаю, как) достичь этого результата JSON от Android (через Retrofit). Я предположил, что настроил Retrofit (значения baseAddress и Endpoint неправильно), поэтому я решил установить эти значения самостоятельно ... Для этого я установил код раньше в Web.config, но я не могу связаться с ними как хорошо ...

Кроме, я хотел бы, чтобы достичь результата JSON от Mozilla (в браузере я имею в виду), потому что кто-то сказал мне, что может мне помочь понять, что с помощью BaseAddress и конечная точка I'm ...

EDITED2: поведения параметры, как:

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

И еще don't результат рич от андроида или браузера ...

+1

* Не работает * очень плохое описание - что ** не работает **? Вы получили сообщение об ошибке - напишите полное и полное сообщение об ошибке здесь! Вы вообще не получаете ответа? Неправильный ответ? Если да: как вы можете сказать, что это неправильно, что вы ожидали и что вы получили вместо? –

ответ

0

И наконец ... Проверьте это, если вам это нужно.

<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> 

И:

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

Вам нужно установить httpGetEnabled="true" для имеющих WSDL доступных как ниже

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

Включите ту же конфигурацию, поведение в вашей декларации службы как

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

См serviceMetadata более Информация.

+0

Отредактировано для вашего рассмотрения @Rahul –

+0

@EliasMP, настройка поведения недостаточно ... вам нужно связать его с конфигурацией сервиса. См. Ответ правильно. – Rahul

+0

Ну, я сделал это, но он не выглядит по-другому ... Какой URL-адрес тот, кто возвращает результат JSON браузером? @Rahul –