当前位置: 首页 > news >正文

有什么网站可以做微信app/中国联通业绩

有什么网站可以做微信app,中国联通业绩,wordpress 逻辑表单,杭州 建设网站制作数据层的个性配置 可以很容易就知道,在Pet Shop 4中,客户个性配置的功能也是采用了工厂模式设计,故其结构和思路跟DAL中的数据访问功能很相似. 实现个性配置相关的文件如下表: 项目名称文件名称类(接口)名称说明ProfileDALFactory 工厂 DataAccess.csDataAccess根据Web.congif…

数据层的个性配置

可以很容易就知道,在Pet Shop 4中,客户个性配置的功能也是采用了工厂模式设计,故其结构和思路跟DAL中的数据访问功能很相似.

实现个性配置相关的文件如下表:

项目名称文件名称类(接口)名称说明
ProfileDALFactory  工厂
 DataAccess.csDataAccess根据Web.congif文件中ProfileDAL结点中的profile项目决定实例化哪个类来完成个性化配置功能
IProfileDAL  接口
 IPetShopProfileProvider.csIPetShopProfileProvider提供个性化配置要用到的全部方法的定义
SQLProfileDAL   
 PetShopProfileProvider.csPetShopProfileProvider针对SQLServer数据库,继承自IPetShopProfileProvider接口,实现其全部方法
OracleProfileDAL   
 PetShopProfileProvider.csPetShopProfileProvider针对Oracle数据库,继承自IPetShopProfileProvider接口,实现其全部方法
Profile  不明其具体功能(有待进一步研究)
 PetShopProfileProvider.csPetShopProfileProvider*不知道该类和上面几个类(接口)有什么关系
XXXX  XXXX
 XXXXProfileProvider*Profile项目中的PetShopProfileProvider类继承处该类,但目前不知该类的出处,对访类一无所知

注:以上*号标注部分有待进一步研究,如有熟知的朋友,谢谢告诉我一声.

数据层的缓存依赖

缓存依赖,是当用户本地缓存的数据在数据库(服务器)端发生变化时,数据库能够通知用户本地缓存,使得本得缓存能够重新读取新的数据到缓存中,实现缓存数据和数据库实际数据的同步,可以大大提高数据库访问的性能.

值得注意的是:PetShop4中只提供了SQLServer的数据缓存处理类:SqlCacheDependency类.

这里的缓存依赖同样采用了工厂模式.

项目名称文件名称类(接口)名称说明
ICacheDependency  缓存依赖的接口
 IPetShopCacheDependency.csIPetSpopCacheDependency创建缓存实例,返回一个AggregateCacheDependency类,用来监控依赖项,如果依赖项对象发生了改变,则移除缓存Cache中的此对象,并读取新的缓存版本.
TableCacheDependency  缓存依赖的实现
 TableDependency.csTableDependency通过Web.config文件中的CacheDatabaseName和configKey,判断要缓存的数据库和键值(表),并添加到缓存中.
 Product.cs,Item.cs,Category.csProduct,Item,Category继承自TableDependency类,为父类提供数据库的表名称的参数.
CacheDependencyFactory  工厂
 DependencyAccess.csDependencyAccess通过判断Web.config文件中的CacheDependencyAssembly项目,返回缓存实例
 DependencyFacade.csDependencyFacade采用外观设计模式,该类是用户真正调用的类,用于包装复杂的调用,它只提供几个简单的GetCategoryDependency(),GetProductDependency(),GetItemDependency()方法,来调用DependencyAccess类

缓存依赖的实现机制

要实现缓存依赖,必须知道两大要素:一上DBMS如何知道哪个数据库需要缓存依赖,二是应用程序如何知道哪个数据库和表有缓存了.

解决第一个问题的方法是:在DBMS上注册数据库的缓存依赖.通过数据库注册工具aspnet_regsql来实现注册,在命令行状态下:

aspnet_regsql -S localhost -U mspetshop -P pass@word1 -d MSPetShop4 -et -t Catagory

各参数的说明如下表:

参数名称说明
-S服务器名称
-U登录名
-P登录用户密码
-E使用Windows验证
-t对哪个表采用缓存依赖
-d对哪个数据库采用缓存依赖
-ed允许对数据使用缓存依赖
-dd禁止对用户使用缓存依赖
-et允许对某表使用缓存依赖
-dt禁止对某表使用缓存依赖
-lt列出使用使用缓存依赖的表

PetShop4中,数据库MSPetShop4中表AspNet_SqlCacheTableForChangeNotification就是保存缓存依赖表的.表内容如下图:

image

当表的内容发生变化时,相关的存储过程和触发器就让changeId自动加1,并修改缓存表和获取缓存表的信息.相关的存储过程如下表:

存储过程名称说明
AspNet_SqlCachePollingStoredProcedure通知应用程序哪个表发生了变化
AspNet_SqlCacheQueryRegisteredTablesStoredProcedure查询注册过的缓存依赖表
AspNet_SqlCacheRegisterTableStoredProcedure注册缓存表,并为缓存表添加触发器,以获取缓存表的变化
AspNet_SqlCacheUnRegisterTableStoredProcedure去除表的缓存依赖
AspNet_SqlCacheUpdateChangeIdStoredProcedure当表的数据变化时,让changeId自动加1

由上表可以得知,解决第一个问题的方法是:通过存储过程AspNet_SqlCachePollingStoredProcedure来通知,当然其中用到了触发器,以实现自动通知.

整个缓存注册的过程可以表示成下面的形式:

注册数据库缓存依赖->在数据库中自动添加缓存表->自动添加存储过程->存储过程添加触发器->通过触发器通知哪个表发生了变化->更新changeId.

另外还必须在Web.config中配置:

image

转载于:https://www.cnblogs.com/luckeryin/archive/2008/12/18/1357440.html

http://www.lbrq.cn/news/781507.html

相关文章:

  • 网站设计和建设ppt/国内新闻最新消息今天
  • 做的漂亮的商务网站/seo 优化
  • 查看网站注册信息/东莞网站定制开发
  • 中企动力做的网站升级收费/无锡网站建设公司
  • 长沙做网站优化的公司/企业网站的基本功能
  • 石基网站建设/互联网推广引流公司
  • 昆明做网站设计/seo课程培训中心
  • 广东高端网站建设/qq群推广软件
  • 实战营销型网站建设/搭建一个网站
  • 呼和浩特商城网站建设/景区营销案例100例
  • 网站去哪做/大连网站制作
  • 专注武汉手机网站建设/百度竞价多少钱一个点击
  • 厦门网站建设 软件园/郑州seo哪家好
  • 网站建设公司哈/成人大学报名官网入口
  • 哪个网站做电商门槛最低/厦门百度推广怎么做
  • 重庆市建设工程信息网官网查询证书下载/seo的优化策略有哪些
  • wap网站 手机网站/快速网站搭建
  • 深圳专业做网站技术/郑州网络营销顾问
  • 什么网站可以请人做软件/百度搜索关键词排行榜
  • flash网站模版/福州seo结算
  • 做公司网站大概需要多少钱啊/网站排名怎么搜索靠前
  • 如果做淘宝网站/成品网站货源1
  • 找人做网站应该注意哪些/厦门seo起梦网络科技
  • 淘宝店可以做团购的网站吗/谷歌关键词搜索
  • wordpress不能更新插件/seo刷词
  • 南宁公司做网站/如何做广告宣传与推广
  • 昆明企业做网站/应用宝下载
  • 做网站怎样安全采集/链接交换平台
  • 做头像的网站自己的名字/品牌策划方案范文
  • 搭建公司介绍网站/西安网络推广公司大全
  • 机器学习-----SVM(支持向量机)算法简介
  • 【世纪龙科技】数智重构车身实训-汽车车身测量虚拟实训软件
  • 嵌入式硬件接口总结
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘huggingface_hub’问题
  • [链表]142. 环形链表 II
  • 三种经典寻路算法对比