二:【nopcommerce系列】Nop的文件结构,引用关系。如何编译打包部署等
如果,你还没先看第一篇,先看看 一:【nopcommerce系列】Nop整体架构的简单介绍,在看nop代码之前,你需要懂哪些东西
如果你确定你已经看完了第一篇,并且真的理解 mvc、和autofac,以及了解entity framework。然后接着往下看。
先看看下载解压后的解决方案。最主要的几个部分:
Libraries 文件夹下
Nop.Core : Nop的核心一些类,比如:缓存系统,事件通知系统,配置信息等
Nop.Data:与数据库打交道的一些东西,比如entity framework的映射关系配置,dbcontext的增删改查的封装
Nop.Services:对接口的实现,全部的核心逻辑
Plugins文件夹下
全部是插件项目,先不管,不影响阅读nop的源代码。
Presentation文件夹下:
Nop.Admin 后台管理系统
Nop.Web 网站前台系统
Nop.Web.Framework web框架的一些东西
Tests 单元测试的
像 Nop.Core 中的,很多东西可以直接复制出来丢进自己项目中用,比如缓存管理类
这些文件结构大概了解一下,就可以。
然后选中那个 Nop.Web 发布,把源代码打包出来以后部署到IIS,访问一下。如果没有 .net 4.5 的自己安装一下。
访问以后会让你填写数据库相关信息和管理员帐号信息什么的。添加之,就能看到Nop的首页了。
后台先不用管。先到处看看首页。
现在来介绍一下它是怎么运行的
打开Nop.Web下的 Global.asax 的 RegisterRoutes 方法中有两句
var routePublisher = EngineContext.Current.Resolve<IRoutePublisher>();
routePublisher.RegisterRoutes(routes);
这是注册路由的。如果看了 第一篇了解了mvc就知道是怎么回事。第一句是,autofac,得到IRoutePublisher接口的实现者。
这里,需要说一下接口。不了解接口的人一定要去看看接口设计模式。一定要。好处多多,先吃饭去。下回再写。。。。。。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构