我想知道是否有人使用MVC和WCF作为中间层实现了3层应用程序?是否有任何性能问题/缺点,而不是使用.dll实现典型的中间层。我正在设想一个可以访问DAL(linq to SQL)的WCF中间层,非常感谢任何建议/链接!
答案 0 :(得分:6)
使用MVC和WCF的3层应用程序通常意味着:
你应该在哪里使用它? Only when you really have to - 你有严格的要求。这当然会产生巨大的性能影响,因为前端对每个业务操作都使用远程调用。远程呼叫可以在同一台机器上的进程之间进行,但最常见的是在另一台服务器上的进程之间(在另一个网络中)。它还需要better design of interactions将调用次数减少到最小,并且如果需要,可以使用异步通信在同一时间调用多个调用。
答案 1 :(得分:0)
如果您开发了密集使用AJAX的网站(例如,根据jQuery.ajax),您可以通过以下方式实现它:
在应用程序的这种体系结构中,ASP.NET MVC将使用母版页缩减为V(视图)。它可以根据用户角色生成不同的视图。模型和大多数Controller操作将在WCF中移动。可以使用与控制器操作完全一样的单元测试来测试WFC方法。如果您需要一些其他数据,如动态生成的图片(例如图表)或动态生成的Excel或WinWord文件,您可以从MVC控制器操作中完全轻松地返回WFC方法中的所有数据。
在您的应用程序的这种设计中,我发现没有性能或其他缺点。 ASP.NET MVC和WFC的View都有许多可以按需使用的缓存可能性。