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