【问题标题】:Best practice on creating a webservice wrapper in VS2010?在 VS2010 中创建 web 服务包装器的最佳实践?
【发布时间】:2010-05-25 11:54:57
【问题描述】:

背景 - 我们正在使用由电信运营商发布的网络服务。任何使用其 WS 的应用程序都需要在其暂存 IP 上进行测试,这在我们的项目时间表上产生了不可预测的开销,因为运营商的周转时间因情况而异,但通常很长,更不用说必须经历的繁文缛节。

我们能否为这个 WS 创建一个包装器,这样我们只需要一次通过他们的 staging 测试,之后任何新应用程序都会使用这个包装器提供的服务,而不是与它们自己的 WS 调用副本耦合?

所以本质上它是一个包含另一个 Web 服务的 Web 服务,但是它们将托管在同一台服务器上。

我使用的是 VS2010,但生产服务器是 WS2K3 上的 IIS6。

当我在 VS2010 中创建一个新项目时... 我应该尝试 WCF 服务应用程序 吗?

还是只坚持 ASP.NET Web 应用程序

我已排除将其作为 Windows 服务 的可能性,但我可能错了。

任何帮助表示赞赏。

TIA

【问题讨论】:

  • 有趣的是,您使用 WS2K3 来引用 WS2003。它的字符长度完全相同。
  • 是的,从前公司继承的惯例。

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


【解决方案1】:

要将服务公开给另一个应用程序(包装 staging WS),如果在 WS2003 中安装了 3.5 Framework(或 4),我将使用 WCF。使用 WCF,您可以公开许多端点 - 例如 TCP,如果它在您的环境中负担得起的话 - 并且是简单 ASP.NET WebServices / Remoting 的演变。

我会尽量不使用 Windows 服务,因为它不灵活并且不能作为服务公开。

【讨论】:

  • Web 服务将仅在同一框内本地使用。在任何一种情况下都有机会避免序列化为 XML 和反序列化开销吗?
  • 感谢 Erup。当不从“新项目”窗口的下拉选项卡中选择 .NET Framework 4.0 时,我找到了创建“ASP.NET Web 服务应用程序”的选项。我想我会坚持那个。在 re WCF 中,我的同事对此很偏执,而我对此一无所知,老板正在挤压我们完成工作,而我正在努力正确地完成这件事,而不要太像牛仔以避免任何事与愿违。跨度>
  • 好的。如果以后,你会有更多的时间,这里是我的建议!
【解决方案2】:

您可以简单地创建一个独立的 Windows 窗体桌面应用程序并添加对该 Web 服务的 Web 引用。

【讨论】:

    猜你喜欢
    • 2015-07-26
    • 2018-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-07
    • 2011-08-06
    • 1970-01-01
    相关资源
    最近更新 更多