微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net – 什么时候不应该使用Web服务?

使用Web服务通常是一个很好的架构方法。并且,随着.Net中WCF的出现,它变得更好了。

但是,根据我的经验,一些人似乎认为Web服务应该总是在数据访问层中用于调用数据库。我不认为web服务是通用的解决方案。

我想用几十个用户的较小的内部网应用程序。 Web应用程序及其Web服务部署到一个Web服务器,而不是Web服务器场。今后不会有另一个网络应用程序可以使用这个特定的Web服务。在我看来,调用Web服务的成本不必要地增加了Web服务器的负担。对进程间调用性能影响。维护和调试Web应用程序和Web服务的代码更复杂。所以是部署。我只是看不到在这里使用Web服务的优势。

可以通过创建两个版本的Web应用程序,有和没有Web服务,并做压力测试,但我没有做到这一点。

你对使用网络服务的小规模网络应用程序有意见吗?任何其他场合,当Web服务不是一个好的建筑选择?

解决方法

Web服务是数据访问的一个绝对可怕的选择。这是一个开销和复杂性几乎零利益。

如果你的应用程序要在一台机器上运行,为什么拒绝它进行数据访问调用?我不是说从你的UI代码直接访问数据库,我说的是抽象你的仓库,但仍包括他们的程序集在你的运行网站。

有些情况下,我推荐Web服务(我假设你的意思是SOAP),但主要是为了互操作性。

服务的粒度在这里也是问题。 SOA意义上的服务将封装操作或业务流程。数据访问方法只是该过程的一部分。

换一种说法:

- someService.SaveOrder(order);  // <-- bad
    // some other code for shipping,charging,emailing,etc

  - someService.FulfillOrder(order);  //<-- better
    //the service encapsulates the entire process

Web服务为Web服务的目的是不负责任的编程。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐