在n层的asp.net App中存储常量的最佳位置是什么?

bAN*_*bAN 1 c# architecture asp.net tiers

我想知道什么是存储我应该使用的枚举的最佳位置,就像我的n层应用程序中的常量一样.

所以我有一个带有DAL(连接到数据库)的应用程序,一个BLL(业务流程),一个Data Transfert对象"Layer"(没有任何方法的类,只有字段,这个可由所有其他人访问)和接口层与asp页面.

我的问题是:我有一个枚举:

 public enum ID_FOO : uint
 {
     ALL = 1,
     FOOOne= 2,
     FOOTwo= 3
 }
Run Code Online (Sandbox Code Playgroud)

我在哪里可以把这个枚举(和所有其他的)干净?不在数据访问层中,接口层不会看到结构,而不是业务逻辑层,这不是真正的业务.也许在数据传输对象中,但它真的是"转移对象"吗?我应该创建另一个图层吗?

感谢所有回复!..

dec*_*one 7

我认为这取决于哪些层将访问它struct.

你说它将被DAL和访问DTOs.如果使用DTOs,我觉得它也会暴露给使用DTO图层的任何图层.

如果您觉得它不属于它BAL,请创建一个单独的程序集(Common)来共享此类型并改为引用该程序集.这将保持清洁.