我应该如何组织我的ASP.NET Web API解决方案?

时间:2012-10-22 00:37:37

标签: asp.net asp.net-web-api

我正在开始一个新的ASP.NET Web API项目。我承认,我从未擅长在我的解决方案中组织我的项目。我想在此更好,因此问题。

首先,我计划使用的命名约定是我找到的几个地方(博客,MSDN等)并包含CompanyName.ProductName.Component。

我的困惑在于解决方案中的项目。我有服务工作的概念证明,但一切都在一个项目中。它有效,但由于各种原因这很糟糕,我想分开组件。该项目使用EF,数据存储库接口,测试项目,业务对象和我的Web API控制器。我该如何组织我的解决方案和各种项目?

1 个答案:

答案 0 :(得分:0)

这个问题没有一个通用的答案。但这是我的默认值:

enter image description here

其他一些注意事项:

虽然Web,核心和数据的项目名称是[productName]。[layer],但我将默认命名空间和程序集名称更改为[company]。[product]。[layer]。我没有完全限定,以便我可以保持路径长度(一旦你在路径中达到256个字符,构建就会抱怨)。

模型项目通常还有其他文件夹,例如\ validation,\ exceptions等...但我只想说明我通常将数据访问接口放在模型类旁边。

我不会更改测试项目的默认命名空间或程序集名称,因为它们对解决方案之外的任何内容都不重要。

话虽这么说,如果我的API很简单(只有几个控制器),我可能会为API和一个测试项目寻找一个项目。如果我这样做,我会在API下为每个逻辑层(核心,数据等)添加文件夹。