在浏览器中测试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