我正在开发一个ASP.NET Web窗体应用程序,我看到在下拉列表选择完成后页面发回的很多区域,在此期间从服务器检索到少量数据以填充另一个控件(像文本框一样)。
每次进行选择时都会回发页面,这不是一个很好的用户体验,特别是如果页面上有5个以上的下拉菜单。为了消除这些回发,我正在考虑实现jQuery Ajax调用(我已经有过经验)。
建议使用:页面方法还是.asmx Web服务? .asmx网络服务不是“老”技术吗?
此外,我一直在阅读Web API。这可以替代页面方法或Web服务吗? Web API难道只是为了消除一堆简单的回发吗?
答案 0 :(得分:0)
我要问的第一个问题是......“这里有什么问题?”。 WebAPI基本上是Microsoft支持多种格式(XML / ODATA / JSON等)的数据检索代理的最新实现。
设置简单,面向未来,如果您觉得有必要,可以在自己独立的项目中将其作为独立服务使用;单凭这一点让我现在在我的.NET项目中使用它而且我没有回头。
答案 1 :(得分:0)
好吧,我先回答你,这首先取决于情况。但如果你对深入研究感兴趣,我建议你一篇文章,它可以解释Page Methods
和Web Mthods
之间的区别。
在我的透视页面中,方法被认为更快,这就是为什么?
http://msdn.microsoft.com/en-us/magazine/cc163480.aspx (参见本文第二段)
另一方面,Web Api
被认为是轻量级的,可以轻松构建覆盖广泛客户端的HTTP服务。您可以在API中使用XML或JSON或其他内容。例如,JSON适用于连接速度较慢的移动应用程序。您可以从jQuery调用API并更好地利用客户端的计算机和浏览器。