数码控科技猎奇Iphone动漫星座游戏电竞lolcosplay王者荣耀攻略allcnewsBLOGNEWSBLOGASKBLOGBLOGZSK全部技术问答问答技术问答it问答代码软件新闻开发博客电脑/网络手机/数码笔记本电脑互联网操作系统软件硬件编程开发360产品资源分享电脑知识文档中心IT全部全部分类 全部分类技术牛文全部分类教程最新 网页制作cms教程平面设计媒体动画操作系统网站运营网络安全服务器教程数据库工具网络安全软件教学vbscript正则表达式javascript批处理更多»编程更新教程更新游戏更新allitnewsJava 新闻网络医疗信息化安全创业站长电商科技访谈域名会议专栏创业动态融资创投创业学院 / 产品经理创业公司人物访谈营销 开发数据库服务器系统虚拟化云计算 嵌入式移动开发作业作业1常见软件all电脑网络手机数码生活游戏体育运动明星影音休闲爱好文化艺术社会民生教育科学医疗健康金融管理情感社交地区其他电脑互联网软件硬件编程开发360相关产品手机平板其他电子产品摄影器材360硬件通讯智能设备购物时尚生活常识美容塑身服装服饰出行旅游交通汽车购房置业家居装修美食烹饪单机电脑游戏网页游戏电视游戏桌游棋牌游戏手机游戏小游戏掌机游戏客户端游戏集体游戏其他游戏体育赛事篮球足球其他运动球类运动赛车健身运动运动用品影视娱乐人物音乐动漫摄影摄像收藏宠物幽默搞笑起名花鸟鱼虫茶艺彩票星座占卜书画美术舞蹈小说图书器乐声乐小品相声戏剧戏曲手工艺品历史话题时事政治就业职场军事国防节日风俗法律法规宗教礼仪礼节自然灾害360维权社会人物升学入学人文社科外语资格考试公务员留学出国家庭教育学习方法语文物理生物工程学农业数学化学健康知识心理健康孕育早教内科外科妇产科儿科皮肤科五官科男科整形中医药品传染科其他疾病医院两性肿瘤科创业投资企业管理财务税务银行股票金融理财基金债券保险贸易商务文书国民经济爱情婚姻家庭烦恼北京上海重庆天津黑龙江吉林辽宁河北内蒙古山西陕西宁夏甘肃青海新疆西藏四川贵州云南河南湖北湖南山东江苏浙江安徽江西福建广东广西海南香港澳门台湾海外地区

详解ABP框架中的日志管理和设置管理的基本配置

日期:2016/6/24 15:44:00 来源:本网整理

巡警ABP任务完成方法详解巡警BeatCopABP任务怎么做答:ABP任务完成方法详解开罚单。这也是巡警最基本的“业绩”之一。如果这辆车停在noparking附近,可以开违章停车罚单,单击车辆会有很多选项,包括查牌(checkplate),查计时器(checkmeter),检查车灯(checklights),检查轮胎(checktire),搜...巡警ABP任务完成方法详解巡警BeatCopABP任务怎么做答:香港是一支拥有28695名纪律人员以及6068名文职人员的队伍。处长级警务人员警务处处长(一名)警务处副处长(两名),分管「行动」副处长以及「管理」副处长高级助理处长(四名),副处长以下再分为五个部门分别由高级助理处长指挥∶·行动处处长...


详解ABP框架中的日志管理和设置管理的基本配置(图2)


详解ABP框架中的日志管理和设置管理的基本配置(图4)


详解ABP框架中的日志管理和设置管理的基本配置(图6)


详解ABP框架中的日志管理和设置管理的基本配置(图9)


详解ABP框架中的日志管理和设置管理的基本配置(图11)


详解ABP框架中的日志管理和设置管理的基本配置(图13)

s">

详解ABP框架中的日志管理和设置管理的基本配置

作者:阳光铭睿 字体:[增加 减小] 类型:转载 时间:2016-06-15 我要评论 ABP是基于ASP.NET的Web开发框架,其日志和框架setting设置方面的模块功能也一应俱全,这里我们就来详解ABP框架中的日志管理和设置管理的基本配置 ">

日志管理

Server side(服务器端)

有哪些好的.net的开源项目?.net的开源项目还是有比较多的:ABP:一个国外的基于MVC的开源框架。Osharp:国人设计的基于MVC的开源框架。Nopcommerce:国外的基于MVC的电子商务。防恶意抓取,请查看原文,,真格学网提供内容。

ASP.NET Boilerplate使用Castle Windsor's logging facility日志记录工具,并且可以使用不同的日志类库,比如:Log4Net, NLog, Serilog... 等等。对于所有的日志类库,Castle提供了一个通用的接口来实现,我们可以很方便的处理各种特殊的日志库,而且当业务需要的时候,很容易替换日志组件。

谁有初三数学期末考试试卷A.4条B.3条C.2条D.1条4.两个顶角相等的等腰三角形框架,其中一个三角形框架的...第13题13.如图,圆内接△ABC中,D是BC边的中点,E是AB边的中点,F是AC边的中点,连...。防恶意抓取,请查看原文,,真格学网提供内容。

译者注释:Castle是什么:Castle是针对.NET平台的一个开源项目,从数据访问框架ORM到IOC容器,再到WEB层的MVC框架、AOP,基本包括了整个开发过程中的所有东西。ASP.NET Boilerplate的ioc容器就是通过Castle实现的。

2014河北省中考数学试题出的怎么样2、核心考点平淡化。对于数与式中的解方程、解不等式,空间图形中的四边形性质、圆...7~16小题每小题3分,注重基础知识的灵活运用。选择题知识覆盖面广,多为大框架内的小...。防恶意抓取,请查看原文,,真格学网提供内容。

Log4Net 是asp.net下面最流行的一个日志库组件, ASP.NET Boilerplate 模板也使用了Log4Net日志库组件,但是呢,我们这里仅仅通过一行关键代码就实现Log4Net 的依赖注入(具体说明在下面的配置文件),所以,如果你想替换成自己的日志组件,也很容易。

2010江苏泰州中考数学试卷及答案∴DM=BM即AC平分BD∵c=6.∵抛物线为∴A()、B()∵M是BD的中点∴M()...连接BP、PQ,此时由"边角边"易得△AQP≌△ABP.28.解:⑴①根据题意得:B的坐标为...。防恶意抓取,请查看原文,,真格学网提供内容。

获取日志记录器logger

。防恶意抓取,请查看原文,,真格学网提供内容。

不管你选择哪一个日志库组件,通过代码来进行日志记录都是一样的。(这里吐槽, Castle's 通用 ILogger 接口实在太牛逼了)。

hi!玩美瑜伽,我是Sherry谢丽蓉,习练13年以上。冥想的具体方法有:基本的身体部位放松法、觉知呼吸冥想法、蓝图想象力冥想法、自我确认语言冥想法、情绪净化清理冥想、微笑冥想法(一辈子做女孩)、合一。防恶意抓取,请查看原文,,真格学网提供内容。

下面进入正题:(译者注:下面的代码是abp框架的Castle.Core源码分析以及实现)

我家猫也是,有时还喝马桶冲过后的水,,它们却不得病。别看猫是动物,有的动物灵敏性超过人类,我感觉万物通灵,披着不同的肉身,都在修行、修来世。所谓吃得苦中苦,方位人上人,别看它们这世是动物,能喝人不能喝。防恶意抓取,请查看原文,,真格学网提供内容。

1、首先呢,我们要先处理日志记录器对象logger, ASP.NET Boilerplate框架使用了dependency injection依赖注入技术,我们可以很方便的使用依赖注入生成日志记录器对象logger。

手脚发麻是很多人都体验过的一种感觉,大部分情况是过一会就会缓解,而有些人的麻木感会长时间持续。比如年逾五十的老王,是一家企业领导,经常社交应酬、伏案工作。最近,他总是觉得自己手指、脚趾发麻,像木头一样,并伴有阵发性疼痛,起初老王并不在意,觉得那是工作劳累所致,以为吃点营养药、止痛药就没事了,谁料到症状越发严重,有时手都握不住东西。老王不禁焦虑起来,究竟是得了什么毛病?去医院的话,又该挂哪个科的号?。防恶意抓取,请查看原文,,真格学网提供内容。

接下来我们看一下 ASP.NET Boilerplate是怎么实现日志记录功能的吧:

门对千棵竹,家藏万卷书解缙(1369-1415)字大绅,江西吉水人。少有神童之称。解缙小时候家里很穷,父母以磨豆腐为生,不过解缙家还真住在高档住宅区,他家对面就是曹尚书府。曹尚书家住的是高级别墅,园林。防恶意抓取,请查看原文,,真格学网提供内容。

using Castle.Core.Logging; //1: 导入日志的命名空间,Castle.Core.Logging public class TaskAppService : ITaskAppService { //2:通过依赖注入获取日志记录器对象。 这里先定义了一个ILogger类型的public属性Logger,这个对象就是我们用来记录日志的对象。在创建了TaskAppService对象(就是我们应用中定义的任务)以后,通过属性注入的方式来实现。 public ILogger Logger { get; set; } public TaskAppService() { //3: 如果没有日志记录器,将日志记录器返回一个空的实例,不写日志。这是依赖注入的最佳实现方式, // 如果你不定义这个空的日志记录器,当我们获取对象引用并且实例化的时候,就会产生异常。 // 这么做,保证了对象不为空。所以,换句话说,不设置日志记录器,就不记录日志,返回一个null的对象。 // NullLogger对象实际上什么都木有,空的。这么做,才能保证我们定义的类在实例化时正常运作。 Logger = NullLogger.Instance; } public void CreateTask(CreateTaskInput input) { //4: 写入日志 Logger.Info("Creating a new task with description: " + input.Description); //TODO: save task to database... } }

离开比赛场,有时候不仅仅是因为身体上的原因,很多时候,很多人,都是因为已经对身后的赛场失去了眷恋,或者,已经没有前进的动力。作为博尔特而言,身体的伤病固然是一方面的原因,就像你说的,加特林都35岁了还在跑。更多的是,博尔特的心理已经想到了离开。看看博尔特过去的辉煌,他是这个星球上百米最快的人类,从古至今,他早已超越了一个个的传奇巨星,将自己的孤独的供奉在神坛。有人说过这么一句话:当你习惯于开法拉利和兰博基尼,你就怎么也不想再开那些屌丝车了。当你一直习惯了胜利的感觉,你怎么能够承受得了昔日对手将你踩在脚下的感觉嘛?自古美人叹迟暮,不许英雄见白头,英雄和美人没有选择,他们只能眼睁睁的看着昔日的荣耀。防恶意抓取,请查看原文,,真格学网提供内容。

复制代码 代码如下:

宋代诗人陆游写过一首诗,名字叫《示子遹》:我初学诗日,但欲工藻绘,中年始少悟,渐若窥宏大。怪奇亦间出,如石漱湍濑。数仞李杜墙,常恨欠领会。元白才倚门,温李真自郐。正令笔扛鼎,亦未造三昧。诗为六艺一,岂。防恶意抓取,请查看原文,,真格学网提供内容。

INFO 2014-07-13 13:40:23,360 [8 ] SimpleTaskSystem.Tasks.TaskAppService - Creating a new task with description:Remember to drink milk before sleeping!

不得不承认网约车在很大程度上给我们的出行带来了方便,尤其是滴滴出行,在前期的时候优惠特别多,招揽了不少的滴滴车主和乘客。但是时间一长滴滴把平台做大后就一改常态,优惠变少不说,各种针对司机的霸王条款就让不少开滴滴的车主难以接受。还有就是即使条款偏向乘客,乘车价格上没有优惠也让人难以接受。这也是为什么滴滴在网上骂声片片的主要原因。但是为何还有这么多人开滴滴、坐滴滴呢?其实也是有原因的。开滴滴的车主一般。防恶意抓取,请查看原文,,真格学网提供内容。

写入日志以后,我们可以查看日志文件,就像下面的格式: 通过基类使用Logger

首先中国首富这个问题,王健林是过去了,即将上来的即将是许家印,毕竟一个时代或者一个时间我们需要一个榜样,李嘉诚的时代过去了,马云的时代只能告诉年轻人我们可以通过其他的方式实现自己的理想,而房地产正在成。防恶意抓取,请查看原文,,真格学网提供内容。

ASP.NET Boilerplate框架提供了MVC Controllers、Web API Controllers和Application service classes的基类(自己定义的控制器和应用服务,都必须要继承ASP.NET Boilerplate的基类,换句话说,当你自定义的Web API controllers、mvc controllers,Application service classes都继承了ASP.NET Boilerplate框架对应的基类,你就可以直接使用日志记录器)。

性教育在很多西方国家是很普及的基础教育,孩子们有权利了解他们自己的身体,了解性。我觉得这个无可厚非,但,中国的性教育自古以来就是隐晦的,很少有父母愿意直接的与孩子交流性的问题。但是作为一个孩子,他天生的,有对性的好奇。所以我觉得,在性教育开放的大背景下,中国父母应该去顺应时代的发展,在必要的时候对孩子进行性教育,而性教育也应该成为我们教育体系中的一部分。难道非要让我们的孩子在好奇心的驱使下,搞出一点意外就好了?。防恶意抓取,请查看原文,,真格学网提供内容。

public class HomeController : SimpleTaskSystemControllerBase { public ActionResult Index() { Logger.Debug("A sample log message..."); return View(); } }

2005年,美国著名的财经杂志《福布斯》曾进行了一项名为“历史上最有权势的二十位商人”的评选。在这个财富榜上,囊括了福特、摩根、洛克菲勒等大名鼎鼎的人物,不过排在第7位的梅耶·罗斯柴尔德,虽被冠以“国际金融之父”,却并不太为今人所知。实际上自18世纪末起,梅耶所缔造的金融帝国就始终对整个欧洲经济具有巨大影响力,而罗斯柴尔德家族也被视为历史上最为成功的商业家族之一。只不过在相当长的时间里,由于其独特。防恶意抓取,请查看原文,,真格学网提供内容。

说明:SimpleTaskSystemControllerBase这个基类控制器是我们自己定义的基类控制器,他必须继承自 AbpController。

大家好,我是爱美丽的小遥心说。丝袜是每个性感的女人都少不了的配饰单品,它不仅可以完美的修饰你的腿部曲线,更能大大提升你的性感魅力。丝袜的美丽在于其透明或半透明的若隐若现的感觉,但是在办公室中丝袜更多的。防恶意抓取,请查看原文,,真格学网提供内容。

这样实现,日志记录器才能正常工作。当然了,你也可以实现自己的基类,这样的话你也可以不使用依赖注入了。

1.章子怡,稀疏的眉毛和偏黄的肤色2.赵薇,比起章子怡,赵薇还是好太多太多了……3.柳岩差点没认出来.4,张韶涵如今,隐形的翅膀也不免成为衰老的翅膀5,Ladygaga素颜出镜就如同街头妇女,认都认不。防恶意抓取,请查看原文,,真格学网提供内容。

 配置

首先,对于你期待孩子早点开口说话,能与他交流的心情非常理解。作为父母,没有人不希望自己的孩子能健康地成长,孩子说话晚,除了遗传因素外,还有以下三个生理因素:01听力障碍如果孩子无法正常地听到周围的声音。防恶意抓取,请查看原文,,真格学网提供内容。

如果你在官网上通过ASP.NET Boilerplate templates 来生成了你的工程,Log4Net的所有配置都自动生成了。

1、身高都知道的,南方和北方人的平均身高是有差距的。北方女生要高些,大概在165~173之间。我有一个女性朋友身高在167左右,她去北方城市玩,说经\n常见到165以上的女孩子,175的也很多,不过也。防恶意抓取,请查看原文,,真格学网提供内容。

默认的配置格式如下:

所谓树挪死人挪活,不少伟大球星也有过改变位置而获得新生的,除了耶罗这种打前锋是大神,打后卫是铁闸的BT,还是有很多球星的,我稍微举一下例子。生姜头斯科尔斯92班代表人物斯科尔斯刚开始出道的时候是打影锋。防恶意抓取,请查看原文,,真格学网提供内容。

•Log level: 日志记录等级,有DEBUG, INFO, WARN, ERROR or FATAL5个。

专业医学团队解答,请点右上角关注!古希腊和罗马时代娶亲,新娘常把洋葱头作陪嫁,洋葱头带得愈多,身价愈高,这一风俗在欧洲的一些山区延续至今。古埃及人都把洋葱头当作永恒的象征,当人们对天发誓时,就用右手托。防恶意抓取,请查看原文,,真格学网提供内容。

•Date and time: 日志记录时间。

这个问题更大范围点就是为什么猫科动物不怕蛇。大多蛇不是毒蛇,所以猫可能知道接近蛇没有风险。而且,猫有搏的优势,因为猫有四只爪子。猫不但可以咬,而可以用爪子拍打猎物。蛇只可以用毒牙咬猎物,所以蛇的方式没。防恶意抓取,请查看原文,,真格学网提供内容。

•Thread number: 每行日志写时候的线程号。

一些文章上说乔心是现实版的曲筱绡,我认为曲虽然嚣张跋扈但是至少她对朋友是真心的虽然她的方式我并不赞同,毕竟我现在还没有建立一个完善的世界观。但至少我明白对消防官兵应该尊重。我不相信乔心这么大个人会连这。防恶意抓取,请查看原文,,真格学网提供内容。

•Logger name: 日志记录器的名字,通常情况就是类名称。

如果一个追动漫的外国人,能够被界定为不爱国。那么一个追动漫的日本人,就能被界定为爱国吗?用“空穴来风”来形容这个关系式,也可谓毫不为过。首先,不少人对日本和动漫有一个错误的因果认知。事实应当是,绝大多。防恶意抓取,请查看原文,,真格学网提供内容。

•Log text: 你写入的日志内容。

A站ACFUN,国内目前人气最高的弹幕式视频网站(简称AC或A站)B站BILIBILI是中国大陆一个ACG相关的弹幕视频分享网站,其前身为视频分享网站Mikufans。该网站由原AcFun网友“⑨bi。防恶意抓取,请查看原文,,真格学网提供内容。

配置文件:log4net.config 一般都在项目的web目录下面。

王思聪,一个含着金汤匙出生的富二代,其父王健林,中国首富,身边美女如云,他的生活是多少人向往的。作为中国首富万达集团董事长王建林的儿子,王思聪“首富之子”的身份再加上其在微博上犀利的言论,使其成为最受。防恶意抓取,请查看原文,,真格学网提供内容。

<?xml version="1.0" encoding="utf-8" ?> <log4net> <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender" > <file value="Logs/Logs.txt" /> <appendToFile value="true" /> <rollingStyle value="Size" /> <maxSizeRollBackups value="10" /> <maximumFileSize value="10000KB" /> <staticLogFileName value="true" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%-5level %date [%-5.5thread] %-40.40logger - %message%newline" /> </layout> </appender> <root> <appender-ref ref="RollingFileAppender" /> <level value="DEBUG" /> </root> <logger name="NHibernate"> <level value="WARN" /> </logger> </log4net>

湿气重喝什么茶枸杞薏米茶薏米300克,枸杞子一把,红枣2-3颗,冰糖适量。薏米用无油锅小火翻炒,至出薏米香味即可,将红枣撕成两半,用滚烫的开水,浸泡材料5-10分。作用:利水消肿、健脾去湿、行气益血、滋补肝肾。陈皮红豆茶红豆200克、陈皮5克。红豆及陈皮浸泡半小时,再将红豆与用水煮至半熟,放入陈皮,再煮沸材料软烂。作用:红豆利水去肿,健脾祛湿,陈皮可帮助消化、宣通五脏。姜糖茶生姜10克,红糖适量。生姜切丝或片,与红糖一起放入杯中,开水冲泡,可用于每天上午饮用。作用:发汗解表,温中和胃,健脾除湿,祛寒暖胃,缓解痛经。西瓜皮凉茶西瓜皮50克、枸杞10颗、冰糖适量。枸杞提前用水泡软,西瓜切去红色瓜肉。防恶意抓取,请查看原文,,真格学网提供内容。

Log4Net是一个非常强大和易用的日志库组件,你可以写各种日志,比如写到txt文件,写入到数据库等等。你能设置最小的日志等级,就像上面这个针对NHibernate的配置。不同的记录器写不同的日志,等等。

惠玲家在市区,和丈夫谈恋爱的时候,妈妈就反对了,说就你这么一个女儿,不想你嫁得太远。但是惠玲和丈夫有良好的感情,彼此相爱,丈夫的家在农村,但惠玲没有介意,顶着家里人的反对和丈夫结婚了,幸运的是,丈夫很疼她,很宠爱她,家里翻建了新房子。不过,结婚后,丈夫工作需要,去外地出差。平时不在家,惠玲怀孕后,就一直和婆婆在老家养胎。然后有一天,婆婆拉着惠玲上街,说是一个算命的算得很准,刚开始惠玲以为是为了孩子。防恶意抓取,请查看原文,,真格学网提供内容。

具体的用法大家可以参照:http://logging.apache.org/log4net/release/config-examples.html

五菱宏光的成神之路,这是一段从未揭开过的历史正文!每个江湖都有属于它自己的故事有些故事太离奇太超乎想象时间久了就成了传说在这个江湖里就一直流传着五菱神车的传说现如今,人人都道五菱宏光是秋名山神车,法拉。防恶意抓取,请查看原文,,真格学网提供内容。

最后,在工程的Global.asax 文件中,来定义Log4Net的配置文件:

这个问题首先是养狗人群在城市里有一定比例,而且侵犯了不养狗人群的公共权利,比如在公共水池里给狗洗澡,在凉亭下给狗梳毛,在绿化带或者干脆就是路上让狗大小便而且不收拾,不栓狗绳吓到小孩子和老人,甚至一些大。防恶意抓取,请查看原文,,真格学网提供内容。

public class MvcApplication : AbpWebApplication { protected override void Application_Start(object sender, EventArgs e) { IocManager.Instance.IocContainer.AddFacility<LoggingFacility>(f => f.UseLog4Net().WithConfig("log4net.config")); base.Application_Start(sender, e); } }

“我用布带在地上摆了一个圈,猫看到立刻站了进去。我开始读秒,它竟然保持站立姿势几分钟,就是不停的摇尾巴。”  “我怀疑这个圈对猫来说,有一种神奇的魔力。”  “那天我在摇呼啦圈。休息的时候,把呼啦圈仍在地上。猫立刻跑过来躺在圈里,然后恶狠狠地盯着我。那种表情,似乎是在埋怨我为什么这么久才把圈圈还给它。”“猫体内有一种基因,对圆圈天生放松。它们认为自己可以蜷在里边,有一种安全感。”  但事实证明,不光是圆形,其他不规则的形状,都符合产生神奇的“猫圈现象”。。防恶意抓取,请查看原文,,真格学网提供内容。

几行代码就调用了Log4Net这个日志记录组件,工程中的Log4Net库是在 nuget package包中的,你也可以换成其他日志组件库,但是代码不用做任何改变。因为,我们的框架是通过依赖注入实现日志记录器的!

卤面莆田卤面和其它地方的相似,都是采用高汤及各种海鲜去烹制,由于莆田人较喜欢卤面,所以在莆田各个街道随处可见卤面馆。莆田卤面更是莆田历来款待亲朋给好友,酒宴必不可少的一道主菜。2兴化炒米粉(豆浆炒米粉)兴化粉,又叫:炊粉。原料米质量不能特别好,好米做出来的口感反而差。分两种做法:干炒和煮汤。兴化炒米粉是福建莆田著名的汉族小吃,莆田十大城市名片之之一,它是莆田(古代称兴化军、兴化府)的著名土特产,又。防恶意抓取,请查看原文,,真格学网提供内容。

 Client side(客户端)

花豹M23曾经杀死并吃掉过两只鬣狗,在这个世纪斗争中,不足60公斤的它表现尤为悍勇。甚至有一次同时攻击两只鬣狗。关于豹杀2鬣狗的描述引自于《TheAfricanLeopard:EcologyandBe。防恶意抓取,请查看原文,,真格学网提供内容。

最后,更厉害的是,你还可以在客户端调用日志记录器。在客户端,ASP.NET Boilerplate框架有对应的 javascript 日志API,这意味着你可以记录下来浏览器的日志,实现代码如下:

现在买车已经不是奢侈品,基本上成为家里的必需品,看看当今的农村车也是越来越普遍。根据你目前的实际情况,身高190,体重165,家庭条件小康以及上班来回20公里路程来说,其实买一款suv感觉比较合适,目前suv市场前十名国产车已经遥遥领先,独占鳌头。我当时买车考虑了4款suv,仅供你的参考。1.吉利博越。这款车被媒体称为中国最美suv,霸气的外表,良好的性能,高科技的装备以及沃尔沃的安全标准,使这款。防恶意抓取,请查看原文,,真格学网提供内容。

abp.log.warn('a sample log message...');

附上:客户端javascript的api,这里要说明的是,你可以使用console.log在客户端输出日志,但是这个API 不一定支持所有的浏览器,还有可能导致你的脚本出现异常,你可以使用我们的api,我们的是安全的,你甚至可以重载或者扩展这些api。

abp.log.debug('...'); abp.log.info('...'); abp.log.warn('...'); abp.log.error('...'); abp.log.fatal('...');

设置管理

介绍

每个应用程序需要存储一些设置并在应用程序的某个地方使用这些设置。ABP框架提供强大的基础架构,我们可以在服务端或者客户端设置,来存储/获取应用程序、 租户和用户级别的配置。

设置通常是存储在数据库(或另一个来源)中,用名称-值(name-value)字符串对应的结构来表示。我们可以把非字符串值转换成字符串值来存储。

注意:关于ISettingStore接口

为了使用设置管理必须实现 ISettingStore 接口。你可以用自己的方式实现它,在module-zero项目中有完整的实现可以参考。

定义设置

使用设置之前必须要先定义。ABP框架是模块化设计,所以不同的模块可以有不同的设置。为了定义模块自己的设置,每个模块都应该创建继承自SettingProvider 的派生类。设置提供程序示例如下所示:

public class MySettingProvider : SettingProvider { public override IEnumerable<SettingDefinition> GetSettingDefinitions(SettingDefinitionProviderContext context) { return new[] { new SettingDefinition( "SmtpServerAddress", "127.0.0.1" ), new SettingDefinition( "PassiveUsersCanNotLogin", "true", scopes: SettingScopes.Application | SettingScopes.Tenant ), new SettingDefinition( "SiteColorPreference", "red", scopes: SettingScopes.User, isVisibleToClients: true ) }; } }

GetSettingDefinitions 方法返回 SettingDefinition 对象。SettingDefinition 类的构造函数中有如下参数:

•Name (必填):必须具有全系统唯一的名称。比较好的办法是定义字符串常量来设置Name。

•Default value: 设置一个默认值。此值可以是null 或空字符串。

•Scopes: 定义设置的范围 (见下文)。

•Display name: 一个可本地化的字符串,用于以后在UI中显示设置的名称。

•Description: 一个可本地化的字符串,用于以后在UI中显示设置的描述。

•Group: 可用于设置组。这仅仅是UI使用,不用于设置管理。

•IsVisibleToClients: 设置为 true 将使设置在客户端可用。

在创建设置提供程序(SettingProvider)之后,我们应该在预初始化(PreIntialize)方法中注册我们的模块:

Configuration.Settings.Providers.Add<MySettingProvider>();设置提供程序会自动注册依赖注入。所以,设置提供程序可以注入任何依赖项 (如存储库) 来生成设置定义的一些其它来源。

 设置范围

有三个设置范围 (或级别) 在 SettingScopes 枚举中定义:

•Application:应用程序范围设置用于用户/租户独立的设置。例如,我们可以定义一个名为"SmtpServerAddress"的设置,当发送电子邮件时,获取服务器的 IP 地址。如果此设置有一个单一的值 (不基于用户改变),那么我们可以定义它为应用程序范围。

•Tenant:如果应用程序是多租户的,我们可以定义特定于租户的设置。

•User:我们可以使用的用户范围的设置来为每个用户存储/获取设置的值。

SettingScopes 枚举具有Flags属性,所以我们可以定义一个具有多个作用域的设置。

设置范围是分层的。例如,如果我们定义设置范围为"Application | Tenant | User"并尝试获取当前设置的值;

•我们获取特定用户的值,如果它定义 (重写) User。

•如果没有,我们获取特定的租户值,如果它定义 (重写) Tenant。

•如果没有,我们获取应用的值,如果它定义Application。

•如果没有,我们得到的默认值。

默认值可以是 null 或空字符串。如果可以,建议为设置提供一个默认值。

获取设置值

定义设置后,我们可以在服务器和客户端获取到它的当前值。

(1)服务器端(Server side)

ISettingManager 用于执行设置操作。我们可以在应用程序中任何地方注入和使用它。ISettingManager 定义了很多获取设置值方法。

最常用的方法是 GetSettingValue (或GetSettingValueAsync 为异步调用)。它将返回当前设置的基于默认值、 应用程序、 租户和用户设置范围的值(如设置范围之前的一段中所述)。例子:

//Getting a boolean value (async call) var value1 = await SettingManager.GetSettingValueAsync<bool>("PassiveUsersCanNotLogin"); //Getting a string value (sync call) var value2 = SettingManager.GetSettingValue("SmtpServerAddress");

GetSettingValue 有泛型和异步版本,如上所示。也有方法来获取特定的租户或用户的设置值或所有设置值的列表。

由于ISettingManager使用广泛,一些特定的基类 (如 ApplicationService、 DomainService 和 AbpController) 有一个名为 SettingManager的属性。如果我们从这些类继承,就无需显式地注入它。

(2)客户端

如果定义设置时将 IsVisibleToClients 设置为 true,就可以在客户端使用 javascript得到它的当前值。abp.setting 命名空间定义所需的函数和对象。示例:

var currentColor = abp.setting.get("SiteColorPreference");也有 getInt 和 getBoolean 这样的方法。你可以使用 abp.setting.values 对象获取所有值。请注意,如果你在服务器端更改设置,客户端不会知道这种变化,除非刷新页面或者以某种方式重新加载页面或者通过代码手动更新。

更改设置

ISettingManager 定义了 ChangeSettingForApplicationAsync,ChangeSettingForTenantAsync 和 ChangeSettingForUserAsync 方法(以及同步版本)来更改应用程序,租户和用户分别的设置。

关于缓存

缓存在服务器端设置管理,所以,我们不应直接使用存储库或数据库更新语句改变设置的值。

IE11借助ABP和跟踪保护列表过滤广告总留下些空白框架,怎么...楼主试试html>body#nv_forum>div#sitefocus,body#nv_forum>div#wp>div[class="wp"],body#nv_forum>div#wp>div:nth-last-child(12)>div,body#nv...谁有这张试卷及其答案啊A.4条B.3条C.2条D.1条4.两个顶角相等的等腰三角形框架,其中一个三角形框架的腰....第13题13.如图,圆内接△ABC中,D是BC边的中点,E是AB边的中点,F是AC边的中点,连...

  • 本文相关:
  • asp控制xml数据库的经典代码
  • ASP网站中数据库被挂木马的解决方案
  • asp实现excel中的数据导入数据库
  • ASP的Error对象知识简析
  • ASP建立一个简单的聊天室
  • ASP开发基于XML的留言板
  • 利用ASP输出excel文件实例讲解
  • ASP提速五大技巧
  • Asp编码优化技巧
  • ASP定义数组方法的技巧
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved