WCF:通过WebGet属性获取WCF的返回值

时间:2013-04-16 13:19:26

标签: wcf

我在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出了什么问题。

请帮忙!

如果我没有明白我的问题,请告诉我。

提前致谢。

1 个答案:

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