我是一名计算机科学专业的学生,虽然我之前曾与MVC合作,但我从未从头开始构建项目。该项目是一个摄影课程,老师将能够上传特色照片。学生必须登录才能看到图片和作业。
我希望学生们登录www.mysite.com,以及admin.mysite.com的老师,所以我们在一个解决方案中有2个不同的网站。
据我所知,我的解决方案项目是:
注意:Gearhost将成为我的主人。
现在,我将如何在两个不同的域上托管AdminWebsite和网站,而它们都来自同一个BusinessLogic和DataLayer?
我是否应该制作两个在同一个数据库上工作的不同项目?甚至可能吗?
我已经进行了研究并阅读了一些关于区域的内容,但是我找不到一个好的教程,是否最好使用区域,如果是这样,你能给我一个链接吗?好的教程,还是一个简单的例子?
感谢阅读!
答案 0 :(得分:1)
简单的网站和实施通常只需将一个项目用于公共,会员和管理站点。
您应该能够根据用户权限对每个区域进行分区,因此无需创建两个单独的网站。
我会建议以下资源以获得最佳实践和示例。
启动MVC页面的最佳位置Stackoverflow上还有大量有关最佳做法和网站布局的问题和社区维基条目。
希望这有帮助
答案 1 :(得分:1)
答案真的取决于。取决于您的项目规模。你可以在一个项目(主MVC)中拥有它,你可以进一步分割它。这个项目的标准形式是这样的:
project.WEB
project.Common (here belongs common functionality between projects, so helpers, utilities, even some extension methods belong there)
project.Model (Data entities)
project.BL //(Business Logic)
project.DAL //(Data Access Layer or Persistence)
project.Tests
*请注意“项目”是您的命名空间根目录。如何处理名称空间命名,您可以在那里检查它:namespace naming conventions
你可以进一步分裂它。但是,我建议你不要夸大其进一步分裂。当你必须这样做时,你会知道(一个项目增长太多,有逻辑分离......)。您尝试遵循原则YAGNI。
还有一件事。如果你想“按书”出现,请查看DDD - Domain Driven Desing:http://msdn.microsoft.com/en-us/magazine/dd419654.aspx。