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

NetTiers学习笔记10---Services Rethrow Exception

NetTiers 生成完毕后,Service层会使用logging记录异常日志
但是在默认情况下, 被捕获的异常没有被抛出, 下面是通过修改
entlib.config 实现, rethrow Exception.

< configuration >
    
< exceptionHandling >
        
< exceptionPolicies >
            
< add  name ="NoneExceptionPolicy" >
                
< exceptionTypes >
                    
< add  type ="System.Exception, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
                      postHandlingAction
="NotifyRethrow"  name ="Exception" >
                        
< exceptionHandlers >
                            
< add  logCategory ="Exceptions"  eventId ="100"  severity ="Error"
                              title
="TiannuoSA Exception Handling"  formatterType ="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.XmlExceptionFormatter, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
                              priority
="0"  type ="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging.LoggingExceptionHandler, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
                              name
="Logging Handler"   />
                        
</ exceptionHandlers >
                    
</ add >
                
</ exceptionTypes >
            
</ add >
        
</ exceptionPolicies >
    
</ exceptionHandling >
</ configuration >


 关键部分  postHandlingAction="NotifyRethrow"


完整的xml如下

ContractedBlock.gif ExpandedBlockStart.gif 完整的XML
  1None.gif<configuration>
  2None.gif    <configSections>
  3None.gif        <section name="securityConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Security.Configuration.SecuritySettings, Microsoft.Practices.EnterpriseLibrary.Security, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  4None.gif        <section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  5None.gif        <section name="exceptionHandling" type="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Configuration.ExceptionHandlingSettings, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  6None.gif        <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  7None.gif        <section name="cachingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Caching.Configuration.CacheManagerSettings, Microsoft.Practices.EnterpriseLibrary.Caching, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  8None.gif        <section name="netTiersService" type="Moda.Application.Data.Bases.NetTiersServiceSection, Moda.Application.Data" allowDefinition="MachineToApplication" restartOnExternalChanges="true" />
  9None.gif    </configSections>
 10None.gif    <securityConfiguration defaultAuthorizationInstance="NetTiers.RuleProvider"
 11None.gif      defaultSecurityCacheInstance="">
 12None.gif        <authorizationProviders>
 13None.gif            <add type="Microsoft.Practices.EnterpriseLibrary.Security.AuthorizationRuleProvider, Microsoft.Practices.EnterpriseLibrary.Security, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
 14None.gif              name="NetTiers.RuleProvider" />
 15None.gif        </authorizationProviders>
 16None.gif        <securityCacheProviders>
 17None.gif            <add cacheManagerInstanceName="TiannuoSA.Entities.EntityCache"
 18None.gif              defaultSlidingSessionExpirationInMinutes="10" defaultAbsoluteSessionExpirationInMinutes="60"
 19None.gif              type="Microsoft.Practices.EnterpriseLibrary.Security.Cache.CachingStore.CachingStoreProvider, Microsoft.Practices.EnterpriseLibrary.Security.Cache.CachingStore, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
 20None.gif              name="Caching Store Provider" />
 21None.gif        </securityCacheProviders>
 22None.gif    </securityConfiguration>
 23None.gif    <loggingConfiguration name="Logging Application Block" tracingEnabled="true"
 24None.gif      defaultCategory="General" logWarningsWhenNoCategoriesMatch="true">
 25None.gif        <listeners>
 26None.gif            <add fileName="TiannuoSA.log.exclude" header="----------------------------------------"
 27None.gif              footer="----------------------------------------" formatter=""
 28None.gif              listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
 29None.gif              traceOutputOptions="None" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
 30None.gif              name="FlatFile TraceListener" />
 31None.gif
 32None.gif            <add databaseInstanceName="TiannuoSA.Data.ConnectionString" writeLogStoredProcName="usp_writelogtodatabase" 
 33None.gif            addCategoryStoredProcName="usp_addcategory" formatter="Text Formatter"
 34None.gif            listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Database.Configuration.FormattedDatabaseTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging.Database, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
 35None.gif            traceOutputOptions="None" type="Microsoft.Practices.EnterpriseLibrary.Logging.Database.FormattedDatabaseTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging.Database, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
 36None.gif            name="Database Trace Listener" />
 37None.gif
 38None.gif        </listeners>
 39None.gif        <formatters>
 40None.gif            <add template="Timestamp: {timestamp} Message: {message} Category: {category} Priority: {priority} EventId: {eventid} Severity: {severity} Title:{title} Machine: {machine} Application Domain: {appDomain} Process Id: {processId} Process Name: {processName} Win32 Thread Id: {win32ThreadId} Thread Name: {threadName} Extended Properties: {dictionary({key} - {value} )}"
 41None.gif              type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
 42None.gif              name="Text Formatter" />
 43None.gif        </formatters>
 44None.gif        <categorySources>
 45None.gif            <add switchValue="Error" name="Exceptions">
 46None.gif                <listeners>
 47None.gif                    <add name="Database Trace Listener" />
 48None.gif                    <add name="FlatFile TraceListener" />
 49None.gif                </listeners>
 50None.gif            </add>
 51None.gif            <add switchValue="All" name="General">
 52None.gif                <listeners>
 53None.gif                    <add name="Database Trace Listener" />
 54None.gif                    <add name="FlatFile TraceListener" />
 55None.gif                </listeners>
 56None.gif            </add>
 57None.gif        </categorySources>
 58None.gif        <specialSources>
 59None.gif            <allEvents switchValue="All" name="All Events" />
 60None.gif            <notProcessed switchValue="All" name="Unprocessed Category" />
 61None.gif            <errors switchValue="All" name="Logging Errors &amp; Warnings">
 62None.gif                <listeners>
 63None.gif                    <add name="FlatFile TraceListener" />
 64None.gif                    <add name="Database Trace Listener" />
 65None.gif                </listeners>
 66None.gif            </errors>
 67None.gif        </specialSources>
 68None.gif    </loggingConfiguration>
 69None.gif    <exceptionHandling>
 70None.gif        <exceptionPolicies>
 71None.gif            <add name="NoneExceptionPolicy">
 72None.gif                <exceptionTypes>
 73None.gif                    <add type="System.Exception, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
 74None.gif                      postHandlingAction="NotifyRethrow" name="Exception">
 75None.gif                        <exceptionHandlers>
 76None.gif                            <add logCategory="Exceptions" eventId="100" severity="Error"
 77None.gif                              title="TiannuoSA Exception Handling" formatterType="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.XmlExceptionFormatter, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
 78None.gif                              priority="0" type="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging.LoggingExceptionHandler, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
 79None.gif                              name="Logging Handler" />
 80None.gif                        </exceptionHandlers>
 81None.gif                    </add>
 82None.gif                </exceptionTypes>
 83None.gif            </add>
 84None.gif        </exceptionPolicies>
 85None.gif    </exceptionHandling>
 86None.gif    <cachingConfiguration defaultCacheManager="TiannuoSA.Entities.EntityCache">
 87None.gif        <cacheManagers>
 88None.gif            <add expirationPollFrequencyInSeconds="60" maximumElementsInCacheBeforeScavenging="1000"
 89None.gif              numberToRemoveWhenScavenging="10" backingStoreName="Null Storage"
 90None.gif              name="TiannuoSA.Entities.EntityCache" />
 91None.gif        </cacheManagers>
 92None.gif        <backingStores>
 93None.gif            <add encryptionProviderName="" type="Microsoft.Practices.EnterpriseLibrary.Caching.BackingStoreImplementations.NullBackingStore, Microsoft.Practices.EnterpriseLibrary.Caching, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
 94None.gif              name="Null Storage" />
 95None.gif        </backingStores>
 96None.gif    </cachingConfiguration>
 97None.gif    <dataConfiguration defaultDatabase="TiannuoSA.Data.ConnectionString" />
 98None.gif    <connectionStrings>
 99None.gif        <add name="TiannuoSA.Data.ConnectionString" connectionString="User ID=;Initial Catalog=;Data Source=;password=" providerName="System.Data.SqlClient" />
100None.gif    </connectionStrings>
101None.gif
102None.gif</configuration>
103None.gif


转载于:https://www.cnblogs.com/iCaca/archive/2007/08/06/844794.html

相关文章:

  • GPRS技术在配电监控系统中的应用[转载]
  • 如何取得Access数据库中的所有用户表和视图
  • string 与stringbuilder的区别
  • LINQ 的演变及其对 C# 设计的影响
  • 读:『博客家园』 [博客人生]结婚是因为无路可逃
  • WINDOWS SERVER 2003从入门到精通之使用IIS服务配置WEB站点
  • 简单状态机Workflow基于Web应用【转】
  • 局域网客户端的管理
  • 风儿带着我们飘
  • 利用C#制作一个仿IE地址栏的文本框
  • Oracle高级复制机制
  • 控制允许将新计算机加入域的权限
  • 简易ERP是什么?(帮你理解ERP)
  • 设计模式(22)-Strategy Pattern
  • 才子软件运行在互联网上,是否安全可靠?
  • SegmentFault for Android 3.0 发布
  • 【译】理解JavaScript:new 关键字
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • isset在php5.6-和php7.0+的一些差异
  • Java IO学习笔记一
  • JavaScript实现分页效果
  • JS函数式编程 数组部分风格 ES6版
  • learning koa2.x
  • Linux后台研发超实用命令总结
  • python学习笔记 - ThreadLocal
  • Twitter赢在开放,三年创造奇迹
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 使用Swoole加速Laravel(正式环境中)
  • 手写双向链表LinkedList的几个常用功能
  • 正则学习笔记
  • 关于Android全面屏虚拟导航栏的适配总结
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (四)c52学习之旅-流水LED灯
  • (转)德国人的记事本
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .cfg\.dat\.mak(持续补充)
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .net 前台table如何加一列下拉框_如何用Word编辑参考文献
  • .Net(C#)自定义WinForm控件之小结篇
  • @configuration注解_2w字长文给你讲透了配置类为什么要添加 @Configuration注解
  • @private @protected @public
  • @RequestMapping-占位符映射
  • @SuppressLint(NewApi)和@TargetApi()的区别
  • [ C++ ] STL_stack(栈)queue(队列)使用及其重要接口模拟实现
  • [23] 4K4D: Real-Time 4D View Synthesis at 4K Resolution
  • [Android 13]Input系列--获取触摸窗口
  • [Angular] 笔记 7:模块
  • [ASP.NET MVC]如何定制Numeric属性/字段验证消息
  • [AUTOSAR][诊断管理][ECU][$37] 请求退出传输。终止数据传输的(上传/下载)