Ich habe einen WCF-Dienst erstellt. Das funktioniert gut, wenn ich einfach in .net als Webservice hinzufüge. Aber ich möchte es für iPhone-App als JSON-Aufruf verwenden können. Zum Testen habe ich es in .net mit JSON verwendet, aber es funktioniert nicht.Aktivieren Sie den WCF-Dienst für die Verwendung mit JSON
Ich weiß, dass diese Art von Frage vor gefragt wird, ich habe nach dieser Lösung gesucht, kann für mich finden.
meine Konfiguration:
<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>
Interface-Code:
[ServiceContract]
public interface IGolfPyramidService
{
[WebInvoke(UriTemplate = "/Test", Method = "POST", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest)]
[OperationContract]
string Test();
}
Myservice.cs Code:
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class MyService : IMyService
{
public string Test()
{
return "success";
}
}
ich es machen wollen möglich, das Verfahren zu nennen verwenden URL-Format wie: http://example.com/MyService.svc/test
Warum verwenden Sie WebInvoke auf Ihrer Schnittstelle und WebGet nicht? – Erwin
Danke für die Antwort .. für meinen Fall möchte ich Antwort in JSON bekommen und ich bekam Probleme mit WebGet-Methode. Die WebInvoke-Methode hat für mich funktioniert. – Finisher001
Wenn Sie den Webservice vom Browser aus aufrufen, verwenden Sie GET, nicht POST. – Erwin