ASP.NET MVC5网站开发项目框架(二)_实用技巧

前几天算是开题了,关于怎么做自己想了很多,但毕竟没做过项目既不知道这些想法有无必要,也不知道能不能实现,不过邓爷爷说过“摸着石头过河”吧。这段时间看了一些博主的文章收获很大,特别是@kencery,依葫芦画瓢开写。

一、基本框架

还是先说下基本框架吧,一下子搞了7个项目看着挺乱的,我的理解是M、V、C 3者中,M是数据载体,V是用户要看的试图,C主要是协调控制与用户界面相关的操作,而数据的处理,数据库的的操作交给DAL、BLL来做。整个思路就是:View是用户看到的界面;Controller负责协调用户操作的东西,需要或处理数据时找业务逻辑层;业务逻辑层需要访问数据库时又找数据访问层;数据访问层通过EF与Sql Server进行交互;各层之间数据交互的媒介就是Model。

这里IBLL和IDAL是接口,功能都在BLL和DAL中实现了,看似有些多余,其实还是很有用处。一个是接口只实现方法定义看起来一目了然;另一个是只要接口不变,不管实现的代码怎么写项目间的调用都不会变。

二、项目建立

1、建立Web项目。

选择模板->Visual C#->Web->ASP.NET Web应用程序。

这里与vs2012中有一个显著地变化,webform、mvc 、api等做的一个模板中了。如图

如果想像以前一样开发怎么办? 点开web-> Visual Studio 2012 是不是熟悉的感觉又回来了。

我们这里还是选择Web->ASP.NET Web应用程序 确定。

这里选择MVC(可以选择添加webform、api的引用,把以前的几种项目杂烩到一起。这里只选MVC),身份验证选个人用户账户,这样会添加最新的ASP.NET Identity的使用代码(其实选什么无所谓,这里不打算使用ASP.NET Identity,用户管理还是自己来做,选上它是想看看微软的代码是怎么写的)。

2、建立其他6个项目

在解决方案上点右键->添加->新建项目

项目类型选择->Visual C# –>Windows->类库。

以此建立其他六个项目。

完工后框架如下:

三、项目之间的引用

项目建立好之后要添加项目间的引用。

在web项目的引用上点右键,选择解决方案->项目 添加Ninesky.Models、 Ninesky.Common、 Ninesky.IBLL、 Ninesky.BLL的引用

依次:IDAL添加Ninesky.Models引用

DAL添加Ninesky.Modles、 Ninesky.IDAL引用

IBLL添加Ninesky.Modles引用

BLL添加Ninesky.Models、 Ninesky.IDAL、 Ninesky.DAL、 Ninesky.IBLL引用

另外DAL Models要在Nuget上添加 EntityFramework的引用。方法是项目引用上点右键选择管理NUGET程序包。在弹出窗口中选 联机->nuget.org->EntityFramework  然后点安装就可自动完成安装。

到此框架算是搭完了。这里web项目代表了mvc中的v和c。modle项目代表了m。common项目准备写公共方法。其他4个项目算是三层架构中的间数据数据访问层和业务逻辑层,另外还是用了面向接口。下次终于可以写代码了。

时间: 2024-10-27 20:53:38

ASP.NET MVC5网站开发项目框架(二)_实用技巧的相关文章

初识ASP.NET Mvc5+EF7的奇妙之旅_实用技巧

话说今年微软是很给力的,Win10算是吸引了大众的眼球了,而最新的.NET5框架更是OK. 最新的.NET5进行了开源,同时利用NuGet以及Node和Bower进行了跨平台化:这意味这可以直接在Mac或者Linux上使用.NET进行开发. 而最新的Mvc5和EF框架也算是进行了换脸了,跟之前Mvc4的项目都不一样,如果进行移植除了核心代码可以拷贝过来,其他的统统要重新来过. 最近准备改版一下网站,所以尝试了一把最新的框架:当然由于现在还是预览版所以改动什么的都超大,所以也走了不少弯路:特在此记

ASP.NET MVC5添加验证(4)_实用技巧

有时候我们网站需要添加验证,这一节我们演示下怎样使用ASP.NET MVC5添加验证. 1.在Model类里面添加验证,代码如下: public class Movie { public int ID { get; set; } [StringLength(60,MinimumLength=3,ErrorMessage="主题的长度必须在3到60个字符")] public string Title { get; set; } [Display(Name="Release Da

ASP.net中网站访问量统计方法代码_实用技巧

一.建立一个数据表IPStat用于存放用户信息 我在IPStat表中存放的用户信息只包括登录用户的IP(IP_Address),IP来源(IP_Src)和登录时间(IP_DateTime),些表的信息本人只保存一天的信息,如果要统计每个月的信息则要保存一个月.因为我不太懂对数据日志的操作,所以创建此表,所以说我笨吧,哈哈. 二.在Global.asax中获取用户信息 在Global.asax的Session_Start即新会话启用时获取有关的信息,同时在这里实现在线人数.访问总人数的增量统计,代

MVC网站开发之权限管理篇_实用技巧

一.前言 刚到公司没多长时间就开始接触MVC到现在不能说懂了,只能说到达会用这个层次吧,感觉MVC用来写Web还是很强大的,层次清晰. 今天我来写写关于权限管理这一块,自我感觉网站的权限主要分为菜单权限和角色权限,首先说角色权限,比较简单不同角色可以看到不同页面这就是角色权限,菜单权限也可以说是操作权限,就是具体到某一个按钮,或某一个下拉框的查看权限或使用权限. 二.角色权限 1.用户角色 首先来角色权限,每个用户有着多样不同的角色,一对多的关系. 2.菜单管理 在菜单管理中我们就可以这样管理,

ASP.NET MVC5验证系列之客户端验证_实用技巧

前面学习了,服务端验证,这篇文章中,我们接着学习客户端验证,客户端的验证,使用Jquery和Jquery插件来实现[jquery.validate.min.js and jquery.validate.unobtrusive.min.js) ]  在服务端验证中,页面必须要提交到服务器,进行验证,如果数据验证不通过,服务器端就会发送一个响应到客户端,然后客户端根据相应的信息,进行处理:而客户端验证则不同,用户输入的数据,只要一提交,客户端就会进行先验证,如果不通过就报错,不会提交到服务器进行验证

asp.net获取网站目录物理路径示例_实用技巧

页面后台cs文件的相对网站根目录的路径/view/Atlas 复制代码 代码如下: string rootPath1= Server.MapPath("~"); string rootPath2 = Request.ApplicationPath; string path1 = Server.MapPath("upload"); string path2 = Server.MapPath(""); string path3 = Server.Ma

Asp.Net获取网站截图的实例代码_实用技巧

复制代码 代码如下: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace WindowsFormsApplication1{    public partial class Form1 : Form    {    

ASP.NET MVC5网站开发我的咨询列表及添加咨询(十二)_实用技巧

上次把咨询的架构搭好了,现在分两次来完成咨询:1.用户部分,2管理部分.这次实现用户部分,包含两个功能,查看我的咨询和进行咨询. 一.菜单 打开上次添加的ConsultationController控制器,添加Menu action,返回分布视图 /// <summary> /// 菜单 /// </summary> /// <returns></returns> public ActionResult Menu() { return PartialView

ASP.NET MVC5网站开发咨询管理的架构(十一)_实用技巧

一.总体说明 1.实现功能 2.类图 由于文章部分把大部分类都是实现了,这里仅多了一个Consultation类. 二.创建咨询模型类 在Ninesky.Models项目添加类Consultation(咨询模型),该模型跟Article类似都是CommonModel的扩展.1.添加Consultation类. using System; using System.ComponentModel.DataAnnotations; namespace Ninesky.Models { /// <sum