【问题标题】:How to proceed with these types of project? [closed]如何进行这些类型的项目? [关闭]
【发布时间】:2011-11-29 00:24:40
【问题描述】:

我将领导一个项目,其中我有一个带有 SQL Server 2008 数据库的 Asp.Net webapp 和一个带有 REST 的 WCF 服务,用于将数据库的数据公开给客户端,如 winform 应用程序、java 应用程序、android 应用程序等。

我想在我的项目中使用 LINQ to Sql。早些时候,我有过 n 分层架构的经验。请帮忙。如何采取措施?

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

**查看更新

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

【问题讨论】:

  • 请向您的项目经理咨询。
  • 我已经和 4-5 名队友一起组建了自己的团队,我是开发人员、主管、项目经理、CTO、CEO,随便你说什么。
  • 为什么选择 LINQ to SQL?为什么不是实体框架?
  • @Morten Frederiksen:这是个人选择。与实体框架相比,我发现 L2S ez 更易于理解和实现。无论如何,有任何强有力的理由来支持你的答案.. 为什么 EF 为什么不 L2S?
  • LINQ to SQL 只能直接映射到数据库表,并且只支持 SQL Server。实体框架更加灵活。

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


【解决方案1】:

如果您询问如何构建一个好的 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? 万宁的《Link in Action》很不错。就像http://shop.tekpub.com/products/linq 上的网络广播一样

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 为了更清楚,我的项目有三个主要方面,Web 应用程序、服务和客户端应用程序。 WebApp 将托管在某个服务器上。在同一台服务器上,我想部署该服务。 Webapp 与服务无关。它将直接与数据库交互。另一方面,该服务有权从数据库中选择记录,而不是插入、删除和更新。客户端应用程序将分散到不同的位置。它可能是一个 winapp、wince 应用程序、android 应用程序或 java 应用程序。它将与服务交互以仅获取数据。这是我的计划。
    猜你喜欢
    • 2011-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-30
    相关资源
    最近更新 更多