• asp.net搭建项目架构


    项目的架构决定这个项目的好坏。

    今天我说说传统三层架构的搭建

    第一步 创建一个解决方案 例如 TaskSystem

    接着这个解决方案下创建六个项目分别:

    TaskSystem.DAL

    TaskSystem.BLL

    TaskSystem.Service

    TaskSystem.WebUI

    TaskSystem.Model

    TaskSystem.Common

    花了几分钟画了一张图

    github源码地址:https://github.com/chenbingithub/taskSystem.git

    搭建这个项目花费了两天的时间怎么成功了,ORM框架使用的EF 打开程序包管理控制台执行 安装命令  install-package entityframework

    只需要在DAL层和Service层执行该命令就好,安装的是最新的EF版本 根据个人喜好 install-package entityframework  -v 6.0 加上版本号

    我比较喜欢使用命令,不然就需要自己添加引用dll,还需要在配置文件配置EF的信息 如下:

    <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    </configSections>

    <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
    <parameters>
    <parameter value="mssqllocaldb" />
    </parameters>
    </defaultConnectionFactory>
    <providers>
    <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
    </entityFramework>

    上面这个一段字符必须放在<configuration></configuration>节点下第一个位置,不然会报错

    执行 install-package entityframework 之后,两段字符自动在配置文件中生成。

    在DAL我采用了抽象工厂模式和单例模式的设计,中间还用到了反射机制 在<appSettings>节点下加上这个

    <!--抽象工厂创建数据库访问层配置节点-->
    <add key="DALAssemblyName" value="TaskSystem.DAL" />

    value值代表实现DAL的命名空间名称

    如果使用依赖注入可采用spring.net,这个项目不打算使用spring.net

    后期我会把redis、日志、邮件服务加上

    我推荐大家使用ABP框架 https://aspnetboilerplate.com/

  • 相关阅读:
    [QT_QML]qml假如调试信息 qDebug console.debug
    [QT_FFMPEG]学习问题: 刚开始移植ffmpeg,测试时出现 undefined reference to `avcodec_configuration()'
    [QT_OPENCV] qt下opencv配置以及首个opencv工程
    [QT][SQLITE]学习记录二 日期查询
    [QT][DEMO] QTableWidget 设置某一列禁止编辑
    [QT][SQLITE]学习记录一 querry 查询
    [QT]QPixmap图片缩放和QLabel 的图片自适应效果对比
    [QT]问题记录-QPixmap::scaled 缩放不成功
    利用php给图片添加文字水印--面向对象与面向过程俩种方法的实现
    利用javascript实现文本的自动输出
  • 原文地址:https://www.cnblogs.com/cb521413/p/8664539.html
Copyright © 2020-2023  润新知