【问题标题】:What is the best strategy to simulate a .net web service without a server?在没有服务器的情况下模拟 .net Web 服务的最佳策略是什么?
【发布时间】:2011-04-18 16:53:38
【问题描述】:

我继承了由 WinForms 应用程序和 Web 服务组成的 .NET 4 VS2010 解决方案。我无权访问运行 Web 服务副本的服务器,但我必须运行、调试、升级和测试访问 Web 服务的项目以及 Web 服务代码。

稍后,我还想在已部署的 Web 服务和本地项目中的代码之间快速切换

更改项目的最佳策略是什么,以便我可以对两个项目进行更改、在本地进行测试、部署 Web 服务然后进行测试?如果我发现问题,我想切换回“本地”模式进行调试。

感谢团队!

【问题讨论】:

    标签: .net vb.net visual-studio web-services


    【解决方案1】:

    最简单的方法是在visual studio中本地托管服务并更改服务url以在生产服务和本地服务之间切换。您可以通过使用#if#else 指令检查调试和发布模式来自动在服务之间切换。

    您还可以使用该接口来提供服务的存根。这也将使单元测试更容易。

    【讨论】:

    • 谢谢!这暗示了 web 服务消费者 winforms 程序和 web 服务本身的隔离。当前,winforms 程序具有对 Web 服务项目的 Web 引用,该引用解析为 app.config 中的 localhost 地址。他们都在同一个解决方案中。但是 .wsdl 文件和自动生成的 reference.vb 中的目标仍然是远程服务器的 IP 地址。似乎对于 Web 服务,目标 URL 分散在许多文件中。
    • 另外,由于 Web 引用自动放置在 WinForms app.config 中的 ApplicationSettings 中,因此我不能在那里使用 #IF。将项目分离到不同的解决方案中可能确实是最好的策略。
    【解决方案2】:
    • 在 IIS 中托管您的 Web 服务或使用本地开发 Web 服务器 (cassini)
    • 使用app.config来存储web服务器的地址
    • 获取代码以使用基于 app.config 的 Web 服务的构建端点
    • 在 web.config 中更改 Web 服务器地址以在服务器之间切换。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-15
      • 1970-01-01
      • 1970-01-01
      • 2017-08-18
      • 1970-01-01
      相关资源
      最近更新 更多