Политика исключений с DataBase Trace Listener в Enterprise Library 5.0 не регистрирует исключение в базе данных SQL - PullRequest
1 голос
/ 26 июля 2010

Я использую корпоративную библиотеку 5.0 с sharepoint для регистрации исключения в базе данных SQL.Я использую ОС Windows 7 и Visual Studio 2010.

(1) Как указано в ссылке, я создал базу данных 'Logging' в SQLEXPRESS, запустив скрипт в этой папке (C: \ Documents and Settings \ Venkatesan \ Мои документы \ EntLib50Src \ Blocks \ Logging \ Src \ DatabaseTraceListener \ Сценарии \ CreateLoggingDb)

(2) Я открыл файл web.config в корпоративной библиотеке (EntLib Config .Net 4) и упомянул строку подключения для экземпляра базы данных (ExampleDatabase) со строкой подключения «источник данных =. \ SQLEXPRESS; Интегрированная безопасность = SSPI ; AttachDBFilename = | DataDirectory | \ Logging.mdf; Пользовательский экземпляр = true "

(3) Я упомянул политику исключений (MyPolicy), тип исключения (Все исключения), прослушиватель трассировки базы данных и т. Д. И, следовательно, файл web.config выглядит следующим образом: я предоставил только необходимые части в файле web.config
.. .. .. .. .. (4) Я развернул необходимые библиотеки в GAC, а также в бине веб-приложения ... Ранее я не развернул библиотеки DLL в GAC, но я получил сообщение об ошибке, указав, что я должен развернуть их в GAC.

(5) Я добавил библиотеку ent lib в качестве ссылок в проекте решения.

(6) Мой код проекта выглядит следующим образом:

с использованием системы;
используя Microsoft.SharePoint;
используя Microsoft.SharePoint.WebControls;
using 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;

namespace MyEntLibProj.Layouts.MyEntLibProj
{
открытый частичный класс MyApplicationPage: LayoutsPageBase
{
защищенная пустота Page_Load (отправитель объекта, EventArgs e)
{
попробуйте
{
бросить новое ArgumentNullException («Это ошибка !!!!»);
}
поймать (исключение ex)
{
Исключение ex1;
bool result = ExceptionPolicy.HandleException (например, «MyPolicy», out ex1);
если (результат)
бросить;
}
}
}
}

Когда я отлаживаю код, хотя я не получаю никаких исключений и значение 'result' равно true, ArgumentNull Exception не регистрируется в моей базе данных. Пожалуйста, помогите мне выяснить, где я был бы неправ ...

1 Ответ

0 голосов
/ 26 июля 2010

Мой файл web.config:

<конфигурация>

<имя раздела = "loggingConfiguration" type = "Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, </p>

Microsoft.Practices.EnterpriseLibrary.Logging, версия = 5.0.414.0, культура = нейтральная,

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

PublicKeyToken = 31bf3856ad36ere" require "

..

<слушатели>
type = "Microsoft.Practices.EnterpriseLibrary.Logging.Database.FormattedDatabaseTraceListener, Microsoft.Practices.EnterpriseLibrary.5.0.414.0, Culture = нейтральный, PublicKeyToken = 31bf3856ad364e35 "databaseInstanceName =" ExampleDatabase "writeLogStoredProcName =" WriteLog "addCategoryStoredProcName =" AddCategory "formatter =" Text Formatter "/>
<форматеры>
*1017*

<слушатели>















.. "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 "/> .. ..
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...