我在WCF界面中有这个代码:
[OperationContract]
[WebGet(UriTemplate = "/GetData/", ResponseFormat = WebMessageFormat.Json)]
string GetData();
这在我的服务页面内:
public string GetData()
{
return "Please help";
}
我想在url中调用GetData函数的值:
http://localhost: 12345/Services/MyWCF.svc/GetData/
输入此URL后,由于JSON格式,我应该可以在记事本中下载结果。 我不确定我的WCF出了什么问题。
请帮忙!
如果我没有明白我的问题,请告诉我。
提前致谢。
答案 0 :(得分:0)
必须使用特定的绑定&这是一个Web http行为。 假设我的服务在WebApplication1.Services.MyWCF下,配置应该是:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="MyServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="WebBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="MyServiceBehavior" name="WebApplication1.Services.MyWCF">
<endpoint address="" binding="webHttpBinding" behaviorConfiguration="WebBehavior" contract="WebApplication1.Services.IMyWCF"/>
</service>
</services>
</system.serviceModel>
如果你在.Net 4下,协议映射也会对你有所帮助。看here。