使用和测试Web服务的最佳方式

时间:2009-09-02 00:42:43

标签: asp.net

我不确定你是否将你的网络服务放在一个单独的项目中,但目前我们所有的网络服务都在各种文件夹下的WAP项目中......对我来说这是一个皇家混乱。

无论如何,除了单元测试,模拟等,我创建了一个新的Web项目。我想使用其他一个Web项目的服务进行测试。

但我意识到,当我向其他Web项目添加项目引用时,我开始收到第三方控件之类的引用错误,可能是因为此测试Web项目中的web.config没有一些相同的键

显然这是错误的方法。什么是利用服务的简单方法,而无需重构我们现在存储服务的方式?

3 个答案:

答案 0 :(得分:2)

如果您的源项目是Web服务项目,您可以创建一个新的asp.net Web应用程序项目,右键单击并向服务项目添加服务参考

从那里开始,有很多方法可以测试服务。您可以创建一个页面,该页面将遍历所有不同的服务方法,并生成一个显示结果的网页,或者有一个页面,允许您输入输入来测试每个服务方法。

这是开始使用Web服务的MSDN页面,他们很可能有一些很好的教程。 http://msdn.microsoft.com/en-us/library/t745kdsh.aspx

我还建议将WCF服务作为另一种服务选项进行调查 http://msdn.microsoft.com/en-us/netframework/aa663324.aspx

当然,单元测试可能是您最好的选择。在visual studio中,您可以添加一个单元测试项目来测试Web服务的类,并以这种方式测试各个方法。

答案 1 :(得分:1)

不要将其添加为项目引用,将Web服务添加为Web引用以便使用它。为此,虽然必须以某种方式部署服务(即使它只是在那个盒子上)。

另一种方法是使用VS2008,您可以通过这种方式测试Web服务(效果很好,我有VS2K8 Pro): http://msdn.microsoft.com/en-us/library/ms243399.aspx

对于旧版本,这里有一篇文章: http://msdn.microsoft.com/en-us/magazine/cc163830.aspx

答案 2 :(得分:0)

如果您当前的Web应用程序项目提供服务,您可能希望将该服务代码迁移到 Web服务项目

将提供服务的代码/类提取到新项目中,并将提供服务的方法装饰为

[WebMethod()]

通过这种方式,您可以保留当前的代码库,只需重新安排项目并添加一些属性即可将其公开为服务。

另一种方法是将Web服务添加到当前的Web应用程序中。 它可以与您的Web应用程序并存,您可以创建Web方法来公开您喜欢的任何服务。

您的测试项目可能会使用这些服务中的任何一项并测试各个方法。