在WebServices上设计ASP.NET应用程序时的性能注意事项

时间:2009-11-26 12:16:13

标签: asp.net performance web-services

我正在考虑使用ASP.NET MVC重建我的ASP.NET门户。我在两个不同的网站上使用相同的门户解决方案,我希望有一个地方og编辑和编写我的网站的文章 - 管理网站。我考虑制作一个“文章网络服务”,它将为我提供创建和列出文章的功能 - 但性能如何?

在我的门户网站上,我需要获取所有文章以制作文章列表(完整列表 - 约100篇文章),然后显示带有评论的单篇文章。这同样适用于论坛,博客,媒体库等。

我认为我不知道有机会为我提供 - 管理员 - 在一个我控制所有门户网站的地方使用易于使用的界面。

广泛使用网络服务会减慢我的门户网站,使它们变得无用吗?是否存在替代Web服务的替代解决方案?

欢呼声,

2 个答案:

答案 0 :(得分:0)

对于基于MVC的直接门户,您不应该需要Web服务,除非您大量使用Ajax或Silverlight - 但在这种情况下,Web服务由客户端调用,而不是从服务器调用-侧。从性能角度来看,服务器端WS通常相当昂贵,并且仅在某些有限的高规模,多服务器应用程序中才有意义。

对于您的管理任务,只需构建一组受保护的页面,其中的UI可控制您需要的管理功能。如果您喜欢冒险,Silverlight也可以很好。

如果你正在寻找一些ASP.NET perf技巧(虽然不是wrt MVC),你可能会喜欢我的新书:Ultra-Fast ASP.NET

答案 1 :(得分:0)

对您的架构来说,这听起来不错。

如果您通过服务公开您的数据库,它会在您的UI和后端之间创建一个非常好的分离,因此您可以编写所有使用相同服务的WPF,Silverlight,ASP.NET,WinForms UI。你这么渴望。

您可能希望了解WCF,它可以让您灵活地了解服务的位置以及使用它们的方式以及使用方式。

此外,通过合理的努力,您可以实现缓存和压缩等功能,这将减轻您将要引入的附加层所带来的任何性能损失。