如何调试WCF服务REST类型,而不必使用元数据?

时间:2012-09-24 17:37:33

标签: c# wcf service wcf-data-services wcf-client

我在C#Visual Studio 2010中使用WCF创建服务REST类型。该服务接收JSON文件,然后使用另一个JSON回复。我已经构建了一个Windows窗体应用程序,并通过创建一个通道来使服务工作。我只是通过POST发送JSON,并获取内容。我想将应用程序绑定为Windows服务(控制面板中的服务)。因此,我创建了一个WCF服务应用程序,但是当我调试它时,它会打开WCF测试客户端实用程序,但是它会因为要求提供元数据而失败。但是,由于我使用REST架构,我认为我根本不需要使用元数据,因为我甚至不想公开服务,我只想要了解服务的用户,然后使用它们。所以,我的问题更像是如何调试WCF服务REST类型,而不必使用元数据?在我看来,创建自己的客户端然后将服务放在Windows服务上并不是一个好主意,因为安装/卸载需要很长时间。

此致

2 个答案:

答案 0 :(得分:2)

我的偏好是将WCF服务放在库中,在控制台应用程序中创建一个单独的简单控制台应用程序和self-host the service。这使调试变得非常简单。

稍后,当您想要将其作为服务(在服务中)时,您可以创建一个Windows服务项目,只需引用服务库并在Windows服务应用程序中托管它。

答案 1 :(得分:1)

你是对的,WcfTestClient不适用于WCF REST服务。有很多方法可以做到这一点:你可以使用Fiddler(而不是WcfTestClient);你可以像你说的那样创建自己的客户;你可以在测试中使用任何HttpClient ...

关于必须安装/卸载Windows服务的问题:除非您对Windows服务环境(例如用户帐户)有任何依赖性,出于测试目的,您可以在与之相同的过程中自行托管您的服务。测试正在运行。对于大多数情况,这应该足以测试服务逻辑本身。