我正在做一个ASP。. NET Web Forms应用程序,我看到很多地方,页面在下拉列表选择后返回,在此期间,从服务器检索少量数据以填充另一个控件(如文本框)。
每次你做一个选择,页面都要返回,这不是一个好的用户体验,特别是如果页面上有5个以上的下拉菜单。为了消除这些回发,我正在考虑实现jQuery Ajax调用(我已经有经验了)。
推荐使用页面方法还是.asmx web服务?.asmx web服务不被认为是"较老的"技术吗?
此外,我一直在阅读Web API。这可能是页面方法或web服务的替代方案吗?仅仅为了消除一堆简单的回发,Web API是否会被过度使用?
我想问的第一个问题是…"什么叫过分呢?"WebAPI基本上是微软最新的数据检索代理实现,它支持多种格式(XML/ODATA/JSON等)。
设置简单,面向未来,如果你觉得有必要,你可以在自己的独立项目中使用它作为一个独立的服务;仅这一点就使我现在在我的。net项目中使用它,而且我没有回头。
好吧,我先回答你,这要视情况而定。但如果你对深入研究感兴趣,我建议你读一篇文章,这篇文章很好地解释了Page Methods
和Web Mthods
的区别。在我看来,页面方法被认为更快,为什么呢?
http://msdn.microsoft.com/en-us/magazine/cc163480.aspx (见文章最后第二段)
另一方面,Web Api
被认为是轻量级的,可以很容易地构建HTTP服务,达到广泛的客户端。你可以在API中使用XML或JSON或其他东西。例如,JSON非常适合连接缓慢的移动应用程序。您可以从jQuery调用API,更好地利用客户端的机器和浏览器。