上次实现了依赖注入,但是web项目必须要引用业务逻辑层和数据存储层的实现,项目解耦并不完全:另一方面,要同时注入业务逻辑层和数据访问层,注入的服务直接写在Startup中显得非常臃肿.理想的方式是,web项目近引用接口而不引用实现,在配置文件中进行配置实现程序集合类,注入业务逻辑层而不必注入数据访问层. 一.数据访问层 在项目中摒弃数据访问层或者使用EntityFramework作为数据访问层. 在项目中数据访问层主要实现数据的存储,仔细看一下EntityFramework发现DbContext…
再次调整项目架构是因为和群友dezhou的一次聊天,我原来的想法是项目尽量做简单点别搞太复杂了,仅使用了DbContext的注入,其他的也没有写接口耦合度很高.和dezhou聊过之后我仔细考虑了一下,还是解耦吧,本来按照软件设计模式就应该是高内聚低耦合的,低耦合使项目的模块独立于其他模块,增加了可维护性和移植性! 注:前面写的博客详细记录没项目操作的每一步,其实写起博客来很费时间,而且整片博文里很多无用的信息.对MVC来说会添加控制器,添加视图,添加类这些都最基本的要求了,并且前面博文里都写了,…
在asp或asp.net中为了方便网站的结构清晰,通常把具有类似功能的页面放到一个文件夹中,用户管理功能都放在Admin文件夹下,用户功能都放在Member文件夹下,在MVC中,通常使用区域(Areas)来组织,在.Net Core MVC 之前的MVC版本,区域都包含在Areas文件夹下,.Net Core MVC 与以前的版本还是有所不同,固定位置的限制,控制器和视图等都可以放置在任何地方,只要在控制器上注明区域名称就可以了. 创建区域的方式如下: 1.在项目的Startup.cs文件中注册…
在2.3中完成依赖注入后,这次主要实现栏目的添加功能.按照前面思路栏目有三种类型,常规栏目即可以添加子栏目也可以选择是否添加内容,内容又可以分文章或其他类型,所以还要添加一个模块功能.这次主要实现栏目的添加,附带实现模块列表功能,并将业务逻辑层的功能都实现了异步方法. 先来个完成后的界面吧. 一.业务逻辑层异步方法 .net Core中异步方法很简单,只需要Task.async.await三个关键字就行.比如要实现统计记录数异步方法,只要给方法添加关键字async,然后返回Task类型,并在方法…
本着简洁直接,我们就直奔主题吧,这里需要使用到一个网页在线截图插件imgareaselect(请自行下载). 前台页面: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="css/imgareaselect-default.css" /> </head> <…
1. 安装 .net core 可参见官网安装教程. 选择Linux发行版本为Centos/Oracle 添加dotnet的yum仓库配置 $ sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm 安装.net SDK #更新系统软件 sudo yum update #安装dotnet sdk sudo yum install dotnet-sdk-2.1 使用dotnet -…
ASP.NET Core MVC 网站学习笔记 魏刘宏 2020 年 2 月 17 日 最近因为” 新冠” 疫情在家办公,学习了 ASP.NET Core MVC 网站的一些知识,记录如下. 一.新建项目及基本结构 我们要新建的是 “ASP.NET Core Web 应用程序” 类型的项目: 起名之后选择 .NET Core 分类下的 “Web 应用程序 (模型视图控制器)” 模板,也就是 MVC 类型的模板,然后创建即可: 创建后结构如下图: wwwroot 存放网站的 js.css 等前端文…
历经一个多月的努力,工作室的门户网站(http://www.wingstudio.org)终于结束了内部公测. 仔细算一下,大概把网站开发出1.0版本大概用了一个月的时间(主要是利用课余时间),其后大概用了十几天来测试.完善.改进,最终定型.感觉最有难度的既不是后台代码的编写,也不是前台页面的编写,而是将不同人编写的前台和后台很好的拼接起来(当然若是前台和后台都是同一个人做,当然不存在这个问题^_^).这也是自己第一次与工作室的伙伴共同完成一个网站.简单的总结一下,团队开发网站需要注意的地方以及…
首先,先简单的谈一下什么是序列化与反序列化,序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程.在序列化期间,对象将其当前状态写入到临时或持久性存储区.以后,可以通过从存储区中读取或反序列化(Deserialization)对象的状态,重新创建该对象. 一般我们把Json的序列化与反序列化用在哪些地方呢?对于网站开发来说,一般我们会用Json来进行前台和后台的数据传递(常与Ajax一起使用),而这个过程就涉及到了Json的序列化与反序列化. 那么我们就来简单看…
又历经一个多月的努力,学校的一个校友平台项目也接近内测的尾声了,简单的总结一下这次的项目开发. 与上次做Wing工作室的门户网站相比,同样是团队开发,参与的人员多了一个,用的时间也差不多一个月,但从总体做的情况来看,这次比上一次要做的好得多(不论是页面的样式还是后台的模块化封装),这是进步也是必然,这次自己的任务仍旧是负责后台以及后台与前台的拼接. 总的来说,用ASP.NET MVC开发网站的效率是相当高的(而且也相当的好部署),特别是针对后台的开发,只要前期对页面的功能分析到位,立马就可以开始…