【问题标题】:Should i read Webservices (SOAP)我应该阅读 Web 服务 (SOAP)
【发布时间】:2012-07-09 11:36:18
【问题描述】:

我正在考虑将 Web 服务 (SOAP) 用于基于 Web 的 Timesheet 应用程序。将有大约 250-300 人使用该网站。

开发环境: VS2010(VB.NET, ASP.NET with AJAX or telerik)和ORACLE

办公环境: Web Server在英国,但用户将通过不同的国家/地区访问此应用程序。 (大部分来自欧洲,但很少有用户在澳大利亚)

过去,我曾将 Web 服务用于稍大一点的应用程序。我的计划是使用网络服务作为数据层。我将以 XML 格式传递 Oracle 存储过程值,然后在存储过程中提取它们。 Web 服务函数将调用存储过程,然后将数据集对象返回给 UI。

(所有与数据库相关的功能(数据提供者等)都将在网络服务中,如连接和返回数据集的功能。)

此应用程序中还将有许多报告,尤其是财务报告。

将来,我将使用此 Web 服务开发一些其他(中小型)应用程序。

我想知道网络服务是否会降低性能?

【问题讨论】:

  • 根据我的经验,当你真的不需要服务层时添加服务层会导致其他问题,例如当你有大量数据时,很难从延迟加载的 ORM 中获取你想要的字段.
  • 我已经使用 Web 服务三年了,在访问大数据时从未遇到过问题。我是从经验丰富的开发人员那里学到的。

标签: c# asp.net vb.net web-services


【解决方案1】:

当然,使用 Web 服务进行数据检索会降低应用程序的性能,因为您添加了另一层。必须对数据进行(反)序列化,这需要处理时间。

有什么选择?如果您不使用 Web 服务,则必须在 ASP.Net 站点将引用和使用的单独项目中编写数据访问代码,但它需要数据库服务器和 Web 服务器之间的直接连接。如果这不是问题:使用最直接的方法。代码越少,可能的错误就越少。

但是,如果您希望客户端通过这些 Web 服务(例如通过 AJAX)获取实时数据,或者如果您想创建可以在任何地方运行并引用数据的应用程序,那么 Web 服务绝对是您的最佳选择。

【讨论】:

  • 您能否详细解释一下:“但是,如果您希望客户端通过这些 Web 服务(例如通过 AJAX)获取实时数据,或者如果您想创建可以在任何地方运行的应用程序并参考数据,网络服务绝对是要走的路。”
  • 您可以直接从客户端浏览器上运行的 JavaScript 调用 Web 服务。因此,您的页面不必将数据回传到服务器。使用服务而不是直接访问的另一个好处是,您可以使用相同的数据访问层轻松编写网站的本机应用程序版本。
  • 嗨 Rene,我同意我可以将相同的 Web 服务用于我计划做的其他应用程序。我只是在考虑性能,因为与直接连接到数据库相比,添加一层会降低性能。另一方面,Web 服务在需要更新 DB Schema 的情况下很好。对于 Timesheet 应用程序而言,安全性并不是真正的大问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-28
  • 2017-04-29
相关资源
最近更新 更多