我可能在这里有错误的“模式”,但我认为这是一个公平的话题。关于编写“灵活”API的想法?
我有一个ASP.Net MVC应用程序中调用了一个WCF服务要回将要呈现的ViewModels。 (它使用WCF服务的原因是其他小型MVC应用程序也可能只会在内部调用这些ViewModel,这不是一个公共可用的东西,所以我可以改变服务的任何一端。这个想法是移动该网站中的逻辑更靠近服务器/数据库,因此往返并不那么昂贵 - 并且仅从Web服务器到数据库服务器进行一次往返。
我试图找出最好的东西从服务返回这些“的ViewModels”。有许多常用的功能,但每个页面可能都希望显示这些东西的不同子集(所以主页可能是表格列表,下一页,可用的表格列表和用户列表)。
那么,什么是该网页希望,希望不web服务寂寂页面返回信息的最佳方式?
编辑:
它已经在下面推荐了我移动的逻辑过程。这将会快得多,除了那是我们正在离开的地方,因为它实际上慢了很多(在这种情况下)。原因是数据库在一台服务器上,而webapp在另一台服务器上,而webapp在点上特别健谈(有些页面最终可能会做2K次往返 - 我无法控制减少这个那么建议使用这个数字)),所以将逻辑移到更接近数据库是使其性能更高的下一个最好的方法。
是的,那*会快得多,除了那是我们正在离开的东西,因为它慢得多。原因是数据库在一台服务器上,而webapp在另一台服务器上,而webapp在点上特别健谈(有些页面最终可能会做2K次往返 - 我无法控制减少这个那么建议使用这个数字)),所以将逻辑移到更接近数据库是使其性能更高的下一个最好的方法。 – Paul 2010-06-02 08:57:50
除非您的支持数据更改频率很高,否则您也可以使用缓存与一个进程内服务结合解决该问题(perf)......显然,我不知道您的方案的确切详细信息,因此这可能不适用于您的情况,但在一般情况下,我宁愿通过Web服务。 – 2010-06-02 09:14:11
这听起来非常理想,遗憾的是在这种情况下不可能。 Web服务(或其他某种服务)确实是我们能想到的最好的方式,它经过了相当仔细的考虑 – Paul 2010-06-02 10:07:23