在上一篇<学习MVC之租房网站(一)-项目概况>中,确定了UI+Service的“双层”架构,并据此建立了项目

接下来要编写Common类库、配置AdminWeb和FrontWeb

一、编写Common类库

验证码和计算MD5没什么好说,直接从网上复制来的~.~

以后会逐步扩充,把公用的方法都放到这儿

二、配置AdminWeb和FrontWeb

1. EF和连接字符串

a. EF直接从NuGet安装,EF默认与SqlServer对接,便不需要做额外的配置了

b. 连接字符串:

<addname="connStr" connectionString="Data Source=.; InitialCatalog=ZSZ; User ID=sa; Password=***;"providerName="System.Data.SqlClient" />

2. Log4Net

a. 从NuGet安装 Log4Net,两个WebApplication项目和Service项目都要安装

b. 然后是配置Web.Config,在<configuration>节点下新增log4net配置节点,内容是网上复制来的:

<log4net>

……

<paramname="File" value="App_Data/Log/" />

……

<paramname="MaximumFileSize" value="1MB" />

……

</log4net>

之后生成的日志就会保存到App_Data文件夹,并且每个日志文件最大为1M。

另外,检查下<configSections>节点下是否有<sectionname="log4net"type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>。log4net有时不会自动添加这个设置,需要手动给加上。

c. 设置Global.asax,在Application_Start中,设置log4net.Config.XmlConfigurator.Configure();

d. 在Application_Start中注册log4net后,就可以自动记录未捕获异常了,级别为ERROR。但在有些地方需要记录DEBUG级别日志时,要手写代码,比如要在DBContext中记录查询SQL:

这儿的DebugFormat挺好用的。

3. 进程外Session

虽然对这个小项目来说,进程内Session完全够用,但用个进程外Session尝鲜有何不可,反正是俺自己做主,哈哈~~

对于单一服务器,进程外Session的作用有两点:1)防止服务器因各种原因重启造成Session丢失,一旦Session丢失,用户在浏览器的登录状态就会失效,因为Cookie中SessionId指向的Session找不到了;2)当网站访问量很大时,内存中存储进程内Session的区域可能会被撑爆,这也会导致服务器重启,Session丢失。

而对于服务器集群,除了前面的两点,为了实现Session在各台服务器的共享,就必须使用进程外Session。

进程外Session的实现主要有数据库和状态服务器两种,在存取速度方面,从快到慢依次为 进程内Session、状态服务器Session、数据库Session;数据库Session要从磁盘的表中存取,当然比不上内存的速度,但好处是容量很大,不用担心被撑爆。

本次项目将使用数据库Session

a. 执行aspnet_regsql

我的是32位机器,aspnet_regsql的位置在C:\Windows\Microsoft.NET\Framework\v4.0.30319

运行后,会增加这样的两张表

b. 配置Web.Config

System.web节点下添加

<!--数据库Session配置文件-->

<sessionStatesqlConnectionString="server=.;database=ZSZ;uid=sa;pwd=***"allowCustomSqlDatabase="true" mode="SQLServer"timeout="1000"></sessionState>

Session有效期默认为20分,这儿设置为1000分钟。

启动网站,试着写入一条Session,ASPStateTempSessions表会增加一条记录

结束

项目框架搭建好,配置好了EF、Log4Net和进程外Session,接下来就正式开始数据库创建、Service层和DTO的编写了

博客园:http://www.cnblogs.com/zhixin9001/

CSDN:http://blog.csdn.net/zhixin9001

学习MVC之租房网站(二)-框架搭建及准备工作相关推荐

  1. 学习MVC之租房网站(七)-房源管理和配图上传

    在上一篇<学习MVC之租房网站(六)-用户登录和权限控制>完成了后台用户登录和权限控制功能的开发,接下来要完成的是房源的管理,用户在后台新增.编辑房源信息,供前台用户操作. 一 房源管理 ...

  2. GitHub开源项目学习 电商系统Mall (二) Mac搭建Mall前后台环境

    Mac搭建Mall前后台环境 Docker环境安装 此处不赘述,本机安装docker ce version 19.03 https://www.runoob.com/docker/macos-dock ...

  3. (一)框架搭建,前端路由设置,自定义寻找指定路径(Django+Vue+Mysql,数据库管理数据分析网站)

    从零开始,1周内搭建出内含复杂深度学习作图分析功能的网站,很肝,但是很有收获,问了很多大佬,查了很多资料,碰了很多壁,写了很多代码,测试,学习,趁着刚做完,写文章总结复盘一下,我尽量以我喜欢的通俗的逻 ...

  4. 白话学习MVC(一)开篇介绍及目录

    开篇介绍 在这里我想将自己在学习过程中了解的知识点整理下,一来对所学东西的过个巩固,二来再次记录一下以便以后翻看. 写这博文的目的是将自己的所学做一下整理,尽量用白话来描述,从而可以更加直观的了解.但 ...

  5. python自动化(五)接口自动化:4.接口自动化框架搭建实战

    一.业务分析 我们这里以企业微信的添加成员业务为例,来讲解我们的自动化测试框架. 企业微信接口文档:https://work.weixin.qq.com/api/doc/90000/90135/901 ...

  6. iris-v12 框架搭建二 mvc架构

    iris-v12 框架搭建二 mvc架构 在这里我就默认你已经会了搭建非mvc架构的方法(不懂得看iris-v12 框架搭建一 快速启动). 想要搭建mvc的架构非常简单,只要使用iris的mvc包就 ...

  7. 网站框架搭建——基于Django框架的天天生鲜电商网站项目系列博客(二)

    系列文章目录 需求分析--基于Django框架的天天生鲜电商网站项目系列博客(一) 网站框架搭建--基于Django框架的天天生鲜电商网站项目系列博客(二) 用户注册模块--基于Django框架的天天 ...

  8. 通过python利用Django框架搭建一个属于自己的免费网站(已更新)

    大家好,我是天空之城,今天给大家带来,通过python利用Django框架搭建一个属于自己的免费网站. 以下是网上找到的免费教程,https://djangogirlstaipei.gitbooks. ...

  9. Python之web开发(一):python常用搭建网站的框架简介

    谈及WEB开发,使用java来的确要比python多的多.但实际上还是有很多大型的网站都是使用python搭建起来的,如国外最大的视频分析网站YouTube.国内的豆瓣.搜狐以及知乎等都是使用pyth ...

最新文章

  1. Fastlane 入门实战教程从打包到上传iTunes connect
  2. JSON 序列化和反序列化——JavaScriptSerializer实现
  3. 【错误记录】Flutter 设备连接显示 Loading... ( 断网 | 删除 flutter/bin/cache/lockfile 文件 )
  4. 事件响应的优先级、stopProgapation禁止下层组件响应
  5. 细说伟哥那些你不知道的神奇用途
  6. 体育直播软件发展的三个阶段
  7. 服务器不重启磁盘修复,重启后数据盘不见了?别担心,只是磁盘脱机
  8. html基本标签与属性
  9. LeetCode 1799. N 次操作后的最大分数和(回溯 / 状态压缩DP)
  10. 生物科技PSD分层海报模板|细胞光效微观,满满渗透感
  11. 迅雷在P2P网络中的另类上传速度
  12. 在linux下用tomcat部署java web项目的过程与注意事项(转)
  13. A2DP和AVRCP蓝牙音频传输协议
  14. 【事件驱动】【数码管识别】 一台电脑能接多少台USB设备
  15. C++语言,线性素数筛(欧拉筛)
  16. SLAM专题(8)卡尔曼滤波和扩展卡尔曼滤波 原理与应用
  17. 如何使用select()函数
  18. 解决MacBook Pro M2关于inport tensorflow 出现的Illegal instruction: 4
  19. 基于AVX256指令集和多线程优化的双机计算加速程序
  20. 程序员那些神仙注释和必备模板

热门文章

  1. 人机交互如何改变人类生活 | 公开课笔记
  2. 第14章 垃圾回收概述
  3. 高并发访问数据库问题
  4. 消息队列RabbitMQ基本使用(Java代码实现)
  5. 2019全国大众点评数据更新
  6. 精灵的移动效果,旋转效果
  7. 永恒之蓝 ms17_010漏洞
  8. 解决MySQL5.7在MAC下登录ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
  9. 存放在电脑中的文件丢失了怎么恢复
  10. 推荐一个文献翻译软件--Deja Vu X