Я использую корпоративную библиотеку 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 не регистрируется в моей базе данных. Пожалуйста, помогите мне выяснить, где я был бы неправ ...