小知识:详解linux下的.net/mvc/cms程序结构

cms程序架构

本程序是主要是用于企业网站开发的,也可以做博客程序,程序是从之前上一篇的.net 博客程序改进过来的,主要技术由webform转成.net mvc了,由于是很早之前的项目,12年还是mvc3版本,当然还是跑在linux下的。

技术栈 .net framework 4.0 sqlite 数据库 mono linux 运行环境以及mono下的sqlite库 razor 模板引擎 dapper 轻量级orm框架 vs2017 社区版本

这次的开发工具比较新了吧,上次用vs2010发的,跨度比较大,这个项目之前也是在10下开发出来的,虽然用2017,其实没什么影响的。

razor引擎比nvelocity的易用性高很多,而且跟后端集合的比较好。

而且这次的项目完全使用dapper orm,整个数据库访问层操作看起来也清爽很多了。

代码结构

%小知识:详解linux下的.net/mvc/cms程序结构-猿站网-插图

左侧主要分为三个文件夹,jqpress.web是存放web路由入口、模板皮肤、静态文件,上传文件夹,后台管理程序通过areas域管理来实现的,整个项目结构还是比较清晰的。

路由设计

%小知识:详解linux下的.net/mvc/cms程序结构-1猿站网-插图

路由入口为homecontroller这个文件,包括首页、产品列表,文章列表,文章内容等待,都是通过这个controller来路由的,虽然功能比较多,但是代码量不到300行,业务逻辑处理基本都在service层。

如下为一个列表界面的action逻辑才20几行

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public actionresult category(string pagename)
{
var model = new postlistmodel();
categoryinfo cate = _categoryservice.getcategory(pagename);
model.category = cate;
if (cate != null)
{
int categoryid = cate.categoryid;
model.metakeywords = cate.catename;
model.metadescription = cate.description;
viewbag.title = cate.catename;
model.url = confighelper.siteurl “category/” jqpress.framework.utils.stringhelper.sqlencode(pagename) “/page/{0}”;
const int pagesize = 10;
int count = 0;
int pageindex = pressrequest.getint(“page”, 1);
int cateid = pressrequest.getqueryint(“cateid”, -1);
int tagid = pressrequest.getqueryint(“tagid”, -1);
if (cateid
声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:docker安装elasticsearch和kibana的方法步骤

2023-3-29 23:30:08

建站知识

小知识:Linux下Android开发环境搭建的操作方法

2023-3-29 23:36:45

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索