初识Brn系列商城

1. 简介

Brn系列商城是由石家庄蝶影软件开发有限公司开发的开源Asp.Net商城,包括BrnShop和BrnMall,BrnShop为单店版,BrnMall为多店版。该系列商城以ASP.NET
MVC3为基础开发的一套网上商城,功能丰富,架构稳定,配置灵活,适合企业和个人快速构建个性化的大中型网上商城。

官方网站:http://www.brnshop.com
官方微博:http://www.cnblogs.com/wheretime/category/586784.html


2. 官方教程

1、BrnShop开源网上商城第一讲:架构设计
2、BrnShop开源网上商城第二讲:ASP.NET MVC框架
3、BrnShop开源网上商城第三讲:插件的工作机制
4、BrnShop开源网上商城第四讲:自定义插件
5、BrnShop开源网上商城第五讲:自定义视图引擎
6、BrnShop开源网上商城第六讲:扩展视图功能
7、重磅来袭,开源Asp.Net MVC网上商城BrnShop正式发布,提供源码下载
8、BrnMall多店版网上商城正式发布
9、网上商城培训视频(下载)
10、Brn系列网上商城数据库说明文档
11、Brn系列网上商城发布指南

3. 设计框架(以BrnMall为例)
(图片多来源于远博客,侵删!)

解决方案是由4个解决方案文件夹构成的。它们分别是Libraries,Presentation,Strategies和Plugins:

项目目录介绍:

  • Libraries:商城基础类库,主要提供系统核心,数据访问,业务逻辑等功能。
  • Presentation:商城web展示,提供网站前台和后台实现。
  • Strategies:包含各种策略程序集。
  • Plugins:包含开发授权,支付等插件。 主要功能都在Libraries和Presentation中,而Strategies和Plugins只是提供程序外围的一些服务。

    BrnShop.Core项目:
    最核心的项目,它提供商城最底层,最基础的服务。

    其中异步模块,缓存模块,配置模块,数据模块,邮箱模块,随机值模块,Session模块,短信模块这8个模块,BrnShop.Core项目只提供加载和接口,并不包含具体实现。
    如邮箱模块:

    /// BrnShop邮件管理类
    public class BSPEmail{private static IEmailStrategy _emailstrategy = null;//邮件策略static BSPEmail(){Load();}/// 邮件策略实例public static IEmailStrategy Instance{get { return _emailstrategy; }}/// 加载邮件策略private static void Load(){try{string[] fileNameList = Directory.GetFiles(System.Web.HttpRuntime.BinDirectory, "BrnShop.EmailStrategy.*.dll", SearchOption.TopDirectoryOnly);_emailstrategy = (IEmailStrategy)Activator.CreateInstance(Type.GetType(string.Format("BrnShop.EmailStrategy.{0}.EmailStrategy, BrnShop.EmailStrategy.{0}", fileNameList[0].Substring(fileNameList[0].IndexOf("EmailStrategy.") + 14).Replace(".dll", "")),false,true));}catch{throw new BSPException("创建\"邮件策略对象\"失败,可能存在的原因:未将\"邮件策略程序集\"添加到bin目录中;将多个\"邮件策略程序集\"添加到bin目录中;\"邮件策略程序集\"文件名不符合\"BrnShop.EmailStrategy.{策略名称}.dll\"格式");}}
    }

    核心思想就是“约定大于配置”和“策略模式”。这里的“约定大于配置”大家需要注意下,如果大家想自己实现一个策略,例如邮箱策略(其它策略一样),请一定要保证符合约定限制,具体就是程序集名一定要满足“BrnShop.EmailStrategy.{自定义名称}.dll”格式,命名空间满足”BrnShop.EmailStrategy.{自定义名称}”格式,主类名必须是“EmailStrategy”。还有一点就是为了保证策略程序集能正确的编译到BilShop.Web项目的bin文件夹中,一定要配置项目生成的输出路径为“….\Presentation\BrnShop.Web\bin\”

    BrnShop.Data项目:
    这个项目主要是通过调用BrnShop.Core项目中的BSPData类来和各种数据存储做交互

    BrnShop.Services项目:
    商城的业务功能实现,如果想找商城某个功能的实现可以来这个项目中找,例如购物车的实现(在BrnShop.Service项目中有个Admin文件夹,这个文件夹是商城后台操作要用到的类)。

    BrnShop.Web.Framework项目:
    这个项目主要提供商城web层面的设计。里面都是自定义控制器类,分页,动作筛选器等MVC方面的东西。

    BrnShop.Web.Admin项目:
    商城网站后台,这个项目的类型是类库,不是web项目(但mvc的各部分俱全),所以不能直接启动。(关于网站发布问题,这里提供一个简单的方法,首先将vs的生成配置改成”release”,然后将BrnShop.Web项目中的web.config文件中的compilation节点的debug属性设置成“false”,然后重新生成BrnShop.Web项目,最后把BrnShop.Web项目的文件夹复制并删除无用的文件(例如obj文件夹下的文件)到iis中就可以了。)

    BrnShop.Web项目:
    商城网站前台:使用ASP.NET MVC3实现:

4. 使用

  • 从官网下载源码包解压后打开工程。
  • (请确保已安装sqlserver 2005或newer版本)首先在你的数据库服务器上创建名为”brnmall”的数据库,然后执行”sqlserver.sql”文件。
  • 请在配置文件 \Presentation\BrnMall.Web\App_Data\rdbs.config 中设置你的数据库账号/密码。
  • 现在可以 Ctrl+F5 本地运行了:

    如果需要发布:

    (1) 将vs的编译方式改为Release:

    (2) BrnMall.Web项目下的Web.config文件,将compilation节点的debug值改为”false”:

    (3) 重新生成解决方案:

    (4) 直接将BrnMall.Web文件夹部署到服务器。
    也可以删除如下无关紧要的文件:

初识C#开源商城BrnShop及BrnMall相关推荐

  1. 来客推开源商城与你浅析:B2B2C多商户商城系统

    随着互联网的飞速发展,B2B2C多商户商城系统因为其便捷高效的性能,在这个激烈的市场中始终独树一帜. 那么传统企业在电商互联网的冲击下,想要融合当前市场线上线下的主流渠道,实现自己的利益最大化,又该怎 ...

  2. 为什么要使用多用户开源商城系统

    多用户商城系统也在不断更新换代,开源商城系统得到了飞速发展并受到众多企业的青睐.那么企业使用多用户开源商城系统到底有什么好处呢? 1.有利于进行二次开发 多用户开源商城系统的最突出优势就是可以进行二次 ...

  3. bilibili源码_Java开源商城源码推荐,从菜鸡到大神,永远绕不开的商城系统

    每个Java程序员,从懵逼菜鸡,再到懵懂菜鸟,再到小鸟,大鸟,最后到技术大神,始终绕不开商城系统,里面蕴含了大量的业务,涉及到了大量的知识点和解决方案. 今天介绍一款Java开源商城源码 xmall- ...

  4. java停车收费系统 源码开源_Java开源商城源码推荐,从菜鸡到大神,永远绕不开的商城系统

    每个Java程序员,从懵逼菜鸡,再到懵懂菜鸟,再到小鸟,大鸟,最后到技术大神,始终绕不开商城系统,里面蕴含了大量的业务,涉及到了大量的知识点和解决方案. 今天介绍一款Java开源商城源码 xmall- ...

  5. java商城_java开源商城系统的优势是什么?

    电商平台开发 大家都知道,java开放性源码提供了开发商便利,经过开发商对源码的二次修改,在系统的易用性和实用性方面都得到了空前的突破,真正达到了只要会打字就能够建设专业水准的商城系统.采用java开 ...

  6. 商城html源码_Java开源商城源码推荐,从菜鸡到大神,永远绕不开的商城系统

    每个Java程序员,从懵逼菜鸡,再到懵懂菜鸟,再到小鸟,大鸟,最后到技术大神,始终绕不开商城系统,里面蕴含了大量的业务,涉及到了大量的知识点和解决方案. 今天锋哥介绍一款Java开源商城源码 xmal ...

  7. 百度云:centos7.0+ 安装宝塔与ShopXO开源商城(从0搭建到部署上线) - 教程篇

    全程高能:从0搭建到部署上线.配图文详解 百度云:centos7.0+ 安装宝塔与ShopXO开源商城 - 部署篇 安装前准备 · step: 相关截图: 去除安全隐患: 注意事项: 附:如何二级域名 ...

  8. 宝塔:ShopXO开源商城(如何二级域名访问)- 配置篇

    宝塔:ShopXO开源商城(如何二级域名访问)- 配置篇 步骤: 登陆宝塔后台,软件商店–> shopxo --> 一键部署 -->输入二级域名的目录配置信息(比如:二级域名.sho ...

  9. 盘点 9 款好用的开源商城系统

    如今,想在多达数十种商城系统中,挑选一套适合自身需要的绝非易事,相信很多朋友并不希望在这个问题上纠结太久.最近笔者也顺便关注了一下这方面的信息,下面,本文就盘点一下认为几款不错的开源商城系统 国内: ...

最新文章

  1. php codeigniter 语言,php – codeigniter模板引擎,包括语言解析器
  2. java数据类型常见面试题
  3. *args,**kwargs的使用方法
  4. http有哪些请求方法
  5. git回滚到任意版本
  6. NTLDR is missing 的解决方法
  7. 锐捷客户端 开机不能自动联网 无法启动DHCP Client服务
  8. 考上研究生就脱单?快来看看这些女生多的大学!
  9. 手把手教你使用XUI的正确姿势
  10. HTTP传输大文件的方法
  11. win7去除快捷方式箭头
  12. Nacos注册中心和服务消费方式
  13. Docker入门学习教程
  14. 2021-2027全球及中国PCR试管行业研究及十四五规划分析报告
  15. 了解第二部分多武装匪徒的强化学习手
  16. 稳坐全球第一的小米手环,爆款背后的“护城河”是如何造就的?
  17. 台式计算机电源怎么看,怎么看电脑电源多少w 查看自己电脑功耗方法 (全文)
  18. [Intensive Reading]目标检测(object detection)系列(九) YOLOv3:取百家所长成一家之言
  19. js用map筛选指定元素(ES6的map方法)
  20. 联想m8000t安装windows2003蓝屏的解决方法

热门文章

  1. 用了 AppiumDriver 后,WebDriverWait 中无法使用 AppiumDriver 特有的方法
  2. 软件测试-手机商城,百度MTC:一站式移动App测试解决方案之应用商店
  3. kali2.0 : msfpayload和msfencode的集成版msfvenom 使用简介
  4. 记录手贱修改win10 msconfig导致开机蓝屏解决方法
  5. lte协议软件 开源的4g_4G LTE 协议中又现新缺陷
  6. 一位开发者的离开,网传WePhone开发者苏享茂被逼自杀
  7. mysql基础 Task06:秋招秘籍 ABC
  8. JS中event.target事件委派遇到多重子节点的元素导致子节点遮挡父节点事件的解决方法
  9. 量化交易中如何判断趋势
  10. Hive CTE与子查询