【问题标题】:Exception Policy with DataBase Trace Listener in Enterprise Library 5.0 not logging exception into SQL databaseEnterprise Library 5.0 中带有数据库跟踪侦听器的异常策略未将异常记录到 SQL 数据库中
【发布时间】:2010-07-26 19:00:24
【问题描述】:

我正在使用带有共享点的 Enterprise library 5.0 将异常记录到 SQLdatabase。我使用 Windows 7 操作系统和 Visual Studio 2010。

(1) 如链接中给出的,我通过在位置 (C:\Documents and Settings\Venkatesan\My Documents\EntLib50Src\Blocks\Logging\Src\DatabaseTraceListener\脚本\CreateLoggingDb)

(2) 我在企业库 (EntLib Config .Net 4) 中打开了 web.config 文件,并提到了数据库实例 (ExampleDatabase) 的连接字符串,其连接字符串为“data source=.\SQLEXPRESS;Integrated Security=SSPI ;AttachDBFilename=|DataDirectory|\Logging.mdf;用户实例=true"

(3)我提到了异常策略(MyPolicy),异常类型(All Exceptions),数据库跟踪监听器等等......因此web.config文件如下: 我只在 web.config 文件中提供了所需的部分
.. .. .. .. .. (4) 我在 GAC 和 Web 应用程序的 bin 中部署了所需的 dll... 以前,我没有在 GAC 中部署 ent lib dll,但我收到错误提示我必须在 GAC 中部署它们。

(5) 我在解决方案项目中添加了 ent lib dll 作为引用。

(6)我的项目代码如下:

使用系统;
使用 Microsoft.SharePoint;
使用 Microsoft.SharePoint.WebControls;
使用 System.Data.SqlClient;
使用 Microsoft.Practices.EnterpriseLibrary.Common;
使用 Microsoft.Practices.EnterpriseLibrary.Data;
使用 Microsoft.Practices.EnterpriseLibrary.Data.Sql;
使用 Microsoft.Practices.EnterpriseLibrary.Data.SqlCe;
使用 Microsoft.Practices.EnterpriseLibrary.ExceptionHandling;
使用 Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging;
使用 Microsoft.Practices.EnterpriseLibrary.Logging;
使用 Microsoft.Practices.EnterpriseLibrary.Logging.Database;
使用 Microsoft.Practices.ServiceLocation;
使用 Microsoft.Practices.ObjectBuilder2;
使用 Microsoft.Practices.Unity;
使用 Microsoft.Practices.Unity.Configuration;
使用 Microsoft.Practices.Unity.InterceptionExtension;
使用 Microsoft.Practices.Unity.InterceptionExtension.Configuration;
使用 Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Configuration;使用 Microsoft.Practices.EnterpriseLibrary.Logging.Configuration;

命名空间 MyEntLibProj.Layouts.MyEntLibProj
{
公共部分类 MyApplicationPage : LayoutsPageBase
{
protected void Page_Load(object sender, EventArgs e)
{
试试
{
throw new ArgumentNullException("这是一个错误!!!");
}
捕获(异常前)
{
例外 ex1;
bool 结果 = ExceptionPolicy.HandleException(ex, "MyPolicy", out ex1);
如果(结果)
扔;
}
}
}
}

当我调试代码时,虽然我没有收到任何异常并且“结果”值为 true,但 ArgumentNull 异常没有登录到我的数据库中。请帮助我找出我错在哪里...

【问题讨论】:

    标签: c#-4.0


    【解决方案1】:

    我的 web.config 文件:




    PublicKeyToken=31bf3856ad364e35" requirePermission="true" /> ..


    type="Microsoft.Practices.EnterpriseLibrary.Logging.Database.FormattedDatabaseTraceListener,Microsoft.Practices.EnterpriseLibrary.Logging.Database, 版本=5.0.414.0, 文化=中性, PublicKeyToken=31bf3856ad364e35"listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Database.Configuration.FormattedDatabaseTraceListenerData,Microsoft.Practices.EnterpriseLibrary.Logging.Database,版本=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" databaseInstanceName="ExampleDatabase" writeLogStoredProcName="WriteLog" addCategoryStoredProcName="AddCategory" formatter="Text Formatter" />



















    .. " Safe="True" AllowRemoteDesigner="True" SafeAgainstScript="False" /> ..
    " Safe="True" /> " Safe="True" /> " Safe="True" /> " Safe="True" /> " Safe="True" /> " Safe="True" /> " Safe="True" /> " Safe="True" /> " Safe="True" /> " Safe="True" /> " Safe="True" /> .. ..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-26
      • 2011-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多