如何进行这些类型的项目?

时间:2011-10-01 11:35:10

标签: c# asp.net wcf linq-to-sql wcf-rest

我将领导一个项目,在那里我使用带有SQL Server 2008数据库的Asp.Net webapp和带有REST的WCF服务,将数据库的数据暴露给客户端,如winform app,java apps,android apps等。

我想在我的项目中使用LINQ to Sql。之前我对n分层架构有经验。请帮忙。如何采取措施?

我在一个解决方案中有4个不同的项目。我是否需要在一个项目中将WebApp与Sql Server数据库分开,如两个不同的项目中的服务和客户端,因为我们可能会在其他服务器中部署我们的WCF服务......

**见更新

为了更清楚,我的项目有三个主要方面,一个Web应用程序,服务和客户端应用程序。 WebApp将托管在someserver上。在同一台服务器上,我想部署该服务。 Webapp与服务无关。它将直接与数据库交互。另一方面,该服务具有从数据库中选择记录的权限,而不是插入,删除和更新。客户端应用程序将分散到不同的位置。它可能是winapp,wince app,android app或java app。它将与服务交互以仅获取数据。多数民众赞成我的计划。**

2 个答案:

答案 0 :(得分:0)

如果需要分发,客户和服务应该在不同的项目中。我通常会使用表示层项目(Web应用程序)和DAL的不同项目。但是,这种隔离取决于您项目的战略愿景。您是否有充分的理由相信,一旦开发此代码,就不需要可扩展性?如果是这种情况,那么将DAL和Webapp放在同一个项目中。否则将它分开。实体框架为可测试性及其路线图提供了更好的支持,与Linq to SQL相比,它与WCF集成良好

答案 1 :(得分:0)

如果您询问如何构建一个好的n层应用程序,我建议您快速阅读http://www.amazon.co.uk/Professional-Enterprise-NET-Wrox-Programmer/dp/0470447613

真的,这完全取决于您的要求。我通常会将我的WCF项目与ASP.NET项目分开,以便可以将“繁重”的处理任务传递给WCF,而不会降低网站性能。

多年来,n-tier一直是事实上的设计,但对于较小的项目,人们认为EF + n-tier等是过度的,而像NancyFx和Simple.Data这样的微框架更合适。这一切都取决于你实际建设的内容。

或者您是否在询问如何开始使用Linq? 万宁“行动中的链接”非常好。与http://shop.tekpub.com/products/linq

上的网络广播一样