Ho creato un servizio wcf. Funziona bene quando sto usando semplicemente in .net aggiungendo come servizio web. Ma voglio renderlo in grado di utilizzare l'app per iPhone come chiamata JSON. Per il test l'ho usato in .net con JSON ma non funziona.Abilita servizio WCF da utilizzare con JSON
so che questo tipo di domanda è stato chiesto prima, ho cercato in questa soluzione non può trovare per me.
la mia configurazione:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="servicebehavior">
<serviceMetadata httpsGetEnabled="true" />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="endpointBehavior">
<enableWebScript />
<webHttp defaultBodyStyle="Wrapped" defaultOutgoingResponseFormat="Json" />
</behavior>
</endpointBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
<services>
<service name="MyService" behaviorConfiguration="servicebehavior">
<endpoint address=""
behaviorConfiguration="endpointBehavior"
binding="webHttpBinding"
contract="IMyService" />
</service>
</services>
codice di interfaccia:
[ServiceContract]
public interface IGolfPyramidService
{
[WebInvoke(UriTemplate = "/Test", Method = "POST", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest)]
[OperationContract]
string Test();
}
Myservice.cs codice:
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class MyService : IMyService
{
public string Test()
{
return "success";
}
}
voglio rendere possibile chiamare il metodo utilizzando formato url come: http://example.com/MyService.svc/test
perché stai usando WebInvoke sulla vostra interfaccia e non WebGet? – Erwin
Grazie per la risposta .. per il mio caso voglio ottenere risposta in JSON e ho avuto problemi con il metodo WebGet. Il metodo WebInvoke ha funzionato per me. – Finisher001
Se si chiama il servizio web dal browser che si utilizza GET, non POST. – Erwin