Web应用程序和移动应用程序是否使用自己的公共Web服务?

时间:2011-07-14 04:17:17

标签: c# asp.net web-services api soap

我首先构建了Web应用程序和一堆类库。

  • 网络应用使用类库librares。
  • 移动应用使用公开的公共网络服务。

现在我在想,既然移动应用程序具有与Web应用程序相同的功能,也许我应该让Web应用程序也使用公共Web服务?

网络应用和移动应用使用相同的公共API会不是一个好主意?

请帮我决定,让我知道为什么这是一个好主意或一个坏主意!

谢谢你们

编辑:我想如果我有网络应用程序使用公共API,那么性能可能会降低?因为它必须去网络堆栈,还需要提供身份验证嗯....

3 个答案:

答案 0 :(得分:2)

Web应用程序使用Web服务的缺点使得它很慢,因为另一个请求(甚至两者都在同一台服务器上)并且还会导致性能问题。所以由于它的缺点,这不是一个好主意。

我没有尝试使用ASP.NET的WCF,但我想通过TCP协议将WCF与ASP.NET一起使用会更好。即使没有TCP,它也比Web服务更快。

答案 1 :(得分:0)

通过将它们分开,如果需要更改或升级共享代码,则必须更新两个不同的程序集。如果额外请求的性能损失太大,那么我建议尝试将共享代码封装在Web服务和Web App都使用的程序集中。这将在删除冗余代码时避免额外请求的开销。

答案 2 :(得分:0)

如果Web服务正在使用相同的类库,我不会担心仅仅为了它而从应用程序中使用Web服务。

除了性能之外,我还要考虑的另一件事是我的应用需要什么类型的隔离。我会确保我的所有业务逻辑和安全机制都在一个地方,最好是代码来放置所有的审计日志。

通过使用通用Web服务(您可以使用其他协议来使用服务来提高性能),您可以真正利用可以添加行为的功能,以确保所有安全和审核日志以统一的方式完成在一个地方。