代码之家  ›  专栏  ›  技术社区  ›  Thomas

ASP.NET MVC和WebServices/Ajax—采用哪种路由?

  •  3
  • Thomas  · 技术社区  · 16 年前

    我正在开发一个ASP.NET MVC应用程序,它需要执行一些小的原子操作,而不需要整个页面回发。当然,这样做的逻辑方法是使用Ajax调用。

    我的问题是- 人们会建议什么是实现这一目标的最佳方式?

    据我所知,我可以按照以下几行操作:

    • WCCF+AJAX
    • MVC应用程序中的控制器操作-可能作为JSON结果返回。
    • Web服务(独立/组合项目)+Ajax

    我要求用户在使用webservice/wcf/ajax时登录,这目前是通过cookie/session id完成的,但据我所知,以上所有方法都允许这样做。

    总的来说,无论我最终使用哪种方法,都将通过标准化的可访问方法调用访问数据库,因此我不必将所有内容都保存在同一个项目/名称空间中。

    希望听到人们对此的想法/体验!

    2 回复  |  直到 16 年前
        1
  •  3
  •   Charlie Flowers    16 年前

    我建议将其作为控制器操作。原因如下:您最终可能会使相同的操作返回几个不同的表示。例如,getPerson()操作可以返回XML、JSON或HTML(可能还有其他表示形式)形式的人员数据。

    这是Rails和ASPMVC中常见的方法。

        2
  •  1
  •   Khaja Minhajuddin    16 年前

    您一定要使用控制器操作,以下是几个原因:

    • 使用wcf/webservices做这件事太过分了(我的假设是,您还没有任何wcf/webservices代码,每个人都会使用)
    • 使用控制器操作很自然地适合这种情况
    • 如果用户禁用了javascript或浏览器不受支持,则可以轻松进行回退。(只需创建两个返回完整视图的操作方法)
    • 正如Michael所提到的,您可以通过渲染部分来执行原子更新。

    希望有帮助。

    推荐文章