1

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

问候

4

2 回答 2

2

我的偏好是将 WCF 服务放在一个库中,制作一个单独的简单控制台应用程序,并在控制台应用程序中自行托管该服务。这使得调试非常简单。

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

于 2012-09-24T17:44:07.173 回答
1

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

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

于 2012-09-24T17:44:32.010 回答