【发布时间】:2012-04-06 11:18:49
【问题描述】:
我有一个 MVC 3(具有数据访问层的 3 层)中的 Web 应用程序,我想将其扩展到本机 iPhone 和 Android 等...作为演示设备。
我可以只使用相同的控制器并进行一些修改,还是将访问逻辑组织到 WCF 服务中更好?
在良好的可扩展性和性能方面,您有什么建议?
【问题讨论】:
标签: wcf asp.net-mvc-3 mobile n-tier-architecture
我有一个 MVC 3(具有数据访问层的 3 层)中的 Web 应用程序,我想将其扩展到本机 iPhone 和 Android 等...作为演示设备。
我可以只使用相同的控制器并进行一些修改,还是将访问逻辑组织到 WCF 服务中更好?
在良好的可扩展性和性能方面,您有什么建议?
【问题讨论】:
标签: wcf asp.net-mvc-3 mobile n-tier-architecture
为了可扩展性,最好将您的业务逻辑放在您的 UI(MVC 站点、iPhone 应用程序、Android 应用程序)简单调用的服务中。我个人建议在 WCF 上使用 ServiceStack,因为它简化了对 POCO 对象的调用。这将有助于可扩展性和维护,因为它可以更清晰地分离您的关注点(我建议您阅读the SOLID principles)。如果您需要对 UI 进行更改,这些更改不会影响您的业务逻辑(这可能会导致您的 iPhone 应用发生更改)
【讨论】:
这一切都取决于。你当然可以走贾斯汀推荐的路线。不过,这方面有很多工作要做。
MVC4 具有 WebAPI,它在类似 MVC 控制器的环境中为您提供 RESTful 服务。这使您可以轻松地将服务层添加到您的 MVC 应用程序中。
对于任何大规模,您可能应该使用完整的 WCF 实现。
仅供参考,MVC4 处于测试阶段,但有一个上线许可证,您可以在不安装 MVC4 的情况下安装 WebAPI,它可以通过 nuget 获得。
【讨论】: