Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对于多平台客户端,我需要WCF还是可以使用MVC3?_Wcf_Asp.net Mvc 3_Mobile_N Tier Architecture - Fatal编程技术网

对于多平台客户端,我需要WCF还是可以使用MVC3?

对于多平台客户端,我需要WCF还是可以使用MVC3?,wcf,asp.net-mvc-3,mobile,n-tier-architecture,Wcf,Asp.net Mvc 3,Mobile,N Tier Architecture,我有一个MVC3的web应用程序(3层,带有数据访问层),我想扩展到原生iPhone和Android等。。。作为演示设备 我可以只使用经过一些修改的相同控制器,还是将访问逻辑组织到WCF服务中更好 关于良好的可扩展性和性能,您有什么建议?对于可扩展性,最好将您的业务逻辑放在您的UI(MVC站点、iPhone应用程序、android应用程序)简单调用的服务中。我个人建议使用overwcf,因为它简化了对POCO对象的调用。这将有助于提高可伸缩性和维护性,因为它可以更清晰地区分您的关注点(我建议您继

我有一个MVC3的web应用程序(3层,带有数据访问层),我想扩展到原生iPhone和Android等。。。作为演示设备

我可以只使用经过一些修改的相同控制器,还是将访问逻辑组织到WCF服务中更好


关于良好的可扩展性和性能,您有什么建议?

对于可扩展性,最好将您的业务逻辑放在您的UI(MVC站点、iPhone应用程序、android应用程序)简单调用的服务中。我个人建议使用overwcf,因为它简化了对POCO对象的调用。这将有助于提高可伸缩性和维护性,因为它可以更清晰地区分您的关注点(我建议您继续阅读)。如果您需要对UI进行更改,这些更改将不会影响您的业务逻辑(这可能会导致您的iPhone应用程序发生更改)

这取决于具体情况。你当然可以走贾斯汀推荐的路线。不过,这方面还有很多工作要做

MVC4有WebAPI,它在类似MVC控制器的环境中为您提供RESTful服务。这允许您以最小的工作量向MVC应用程序添加服务层

对于任何大规模的应用,您可能都应该使用完整的WCF实现


仅供参考,MVC4处于测试阶段,但有一个上线许可证,您可以在不安装MVC4的情况下安装WebAPI,它可以通过nuget获得。

那篇SOLID principles文章很难理解,但我真的很感兴趣,您对其他阅读有什么建议吗?所以如果我目前有一个单元测试项目、域项目和MVC 3 Web项目,我假设添加WCF,我会将其插入域和MVC之间。这样的4层体系结构有什么好的指导原则吗?@maxander-这要看情况而定。您可以将WCF服务层集成到您的域中。如果这是访问它的唯一方法,那么这可能是最好的选择。但是,如果您希望您的域是一个独立的模型,那么可以。单元测试不是“层次”的一部分。哦,好的。因此,如果数据库连接到域模型中的实体,并且使用存储库操作域实体,则WCF将用作存储库方法的通信端口。然后假设MVC特别使用严格的视图模型,那么连接MVC和WCF的最佳方式是什么?@maxander-对,但是如果我想公开WCF和MVC之间的SOAP对象呢?WCF是否应该在视图模型中专门与其客户机通信?还是另一种中间模式?我不想让客户知道域模型是什么(这是很好的实践,不是吗?)