在浏览器中测试wcf服务

即使在配置文件中使用 ,我也无法在浏览器中调用基本的wcf web方法。

对于源代码,它是非常基本的:

对于界面:

 [ServiceContract] public interface IService1 { [OperationContract] [WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare)] string GetData(); [OperationContract] CompositeType GetDataUsingDataContract(CompositeType composite); // TODO: ajoutez vos opérations de service ici } 

并为实施:

  public string GetData() { return ("{'code':'yes'}"); } 

此方法在内置的visual studio wcf服务测试程序中工作正常,并返回{'code':'yes'}

在浏览器中,当我调用http://localhost:54421/Service1.svc/GetData ,它会显示一个空白页面。 我该如何解决这个问题?

我这样做是为REST调用创建额外的端点行为,因此我可以拥有不同的客户端。 看看这个配置:

       

在您的服务定义中添加使用此行为的端点

  

现在,您可以从浏览器和wcf客户端调用您的服务。 要从浏览器调用它:

 http://localhost:54421/Service1.svc/easy/GetData 

ServiceMetadata用于不同目的,这里是文档的链接 。 基本上,这意味着您的服务将公开自身的信息,以便外部开发人员可以创建代理客户端

大多数浏览器不会在浏览器中显示json结果。 通常,您将看到一个空白页面(尝试查看源代码),否则系统会提示您下载。

如果您使用的是Firefox,则可以使用一些附加组件来查看JSON和用于测试Web服务的Poster附加组件。

如果您使用的是Google Chrome浏览器,可以尝试使用Pretty JSON