Tag: enterprise library

Simple Enterprise Library控制台应用程序拒绝编译

我刚刚下载并安装了Microsoft Enterprise Library 5.0 。 我启动了VS 2010以使用EL 5并创建了一个非常简单的控制台应用程序。 但是,它不会编译。 我收到以下错误: 命名空间“Microsoft.Practices.EnterpriseLibrary”中不存在类型或命名空间名称“Data”(您是否缺少程序集引用?) 我添加了Microsoft.Practices.EnterpriseLibrary.Common,Microsoft.Practices.EnterpriseLibrary.Data和Microsoft.Practices.Unity对我的项目的引用。 这是拒绝编译的简单代码。 using Microsoft.Practices.EnterpriseLibrary.Common.Configuration.Unity; using Microsoft.Practices.EnterpriseLibrary.Data; using Microsoft.Practices.Unity; namespace EntLib { class Program { static void Main(string[] args) { IUnityContainer container = new UnityContainer(); container.AddNewExtension(); var defaultDatabase = container.Resolve(); } } } 上面的错误抱怨第2行: using Microsoft.Practices.EnterpriseLibrary.Data; 有人可能会指出我犯了一个愚蠢的错误,但此刻我没有看到它。 我试图删除并再次添加Microsoft.Practices.EnterpriseLibrary.Data以重新启用但它没有帮助。

替换Microsoft Data Access ApplicationBlocks已过时的SqlHelper类

看起来Microsoft Enterprise Library中的旧SqlHelper类已经大部分被新Enterprise Library版本5中包含的Database类所取代。 我有一个非常简单而琐碎的例子: using Microsoft.ApplicationBlocks.Data; private void PopulateCheckBoxGroup() { const string strConnTxt = “Server=(local);Database=DataBindTests;Integrated Security=True;”; const string strlSql = “select Technology from PreferredTechnology where ParentId = 1”; CheckBoxList1.DataSource = SqlHelper.ExecuteReader(strConnTxt, CommandType.Text, strlSql); CheckBoxList1.DataTextField = “Technology”; CheckBoxList1.DataBind(); } 你可以给我一个提示,以便使用替换SQLHelper的新数据库抽象类来做同样的事情吗? 我已经查看了企业库5“Hands On Labs”并且没有提及它。 提前致谢。

启用/禁用企业库登录生产

在我的制作中,我不希望有严重性为Verbose(或Debug)的日志条目。 我只需要信息,错误等。启用和禁用日志记录(调试条目)的正确方法是什么? 我做了一些研究,一种可能性是使用Custom Filter类来启用和禁用严重性为“verbose”的所有日志。 但是在生产中部署应用程序时,启用和禁用的正确方法是什么?

比较企业库中的Logging应用程序块与Log4net?

有人可以比较这两种记录机制吗?

await / async Microsoft Practices企业库数据

我有一个较旧的应用程序,我在其中使用Microsoft.Practices.EnterpriseLibrary.Data从数据库中获取数据。 我最近升级到.NET 4.5并希望利用await / async 。 根据命名标准,我没有看到任何以“Async”结尾的方法,即使在最新版本的软件包中也是如此。 是否可以在不手动使其异步的情况下对此ADO .NET库使用await / async?

EnterpriseLibrary错误

我收到有关我们的实时环境中罕见且间歇性错误的报告。 我试图重现它并没有成功,错误本身就是一个小谜。 除此之外,它似乎涉及企业库跟踪(我们使用的是5.0版本) – 总而言之,有点痛苦。 这是在Windows Sever 2008上发生的,应用程序在.Net Framework 4.0(WPF)上。 错误消息和堆栈跟踪如下: ArgumentNullException: Value cannot be null. Parameter name: category Server stack trace: at Microsoft.Practices.EnterpriseLibrary.Logging.LogEntry.BuildCategoriesCollection(String category) at Microsoft.Practices.EnterpriseLibrary.Logging.Tracer.WriteTraceMessage(String message, String entryTitle, TraceEventType eventType) at Microsoft.Practices.EnterpriseLibrary.Logging.Tracer.WriteTraceEndMessage(String entryTitle) at Microsoft.Practices.EnterpriseLibrary.Logging.Tracer.Dispose() at TestApplication.ViewModelTest.<UpdateUsers>d__1a.MoveNext() Exception rethrown at [0]: at System.Runtime.CompilerServices.AsyncVoidMethodBuilder.<SetException>b__1(Object state) at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state) at System.Threading.ExecutionContext.runTryCode(Object userData) at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, […]

EnterpriseLibrary数据访问应用程序块重定向部分找不到默认数据库

如何使用EnterpriseLibrary数据访问应用程序块的数据重定向部分? 我想从app.config中删除数据库的定义并放在一个独立的database.config文件中。 我尝试使用与logging.config和exception.config文件相同的方式,但我不能让它工作。 using Microsoft.Practices.EnterpriseLibrary.Common.Configuration; using Microsoft.Practices.EnterpriseLibrary.Data; using Microsoft.Practices.EnterpriseLibrary.Data.Sql; using Microsoft.Practices.EnterpriseLibrary.ExceptionHandling; using Microsoft.Practices.EnterpriseLibrary.Logging; using System; using System.Data; namespace entlib6 { class Program { static void Main(string[] args) { IConfigurationSource source = ConfigurationSourceFactory.Create(); LogWriterFactory logwriterFactory = new LogWriterFactory(source); var logWriter = logwriterFactory.Create(); Logger.SetLogWriter(logWriter); var exceptionPolicyFactory = new ExceptionPolicyFactory(source); var exceptionManager = exceptionPolicyFactory.CreateManager(); ExceptionPolicy.SetExceptionManager(exceptionManager); DatabaseProviderFactory factory = […]

企业库日志记录应用程序块选项

日志记录应用程序块是否能够处理这些情况或它们的组合? 如果日志记录失败,请不要抛出exception 仅适用于特定exception/exception类型 如果日志记录失败,则回退到另一种类型(即数据库日志记录失败,回退到电子邮件或网络发送) 我的实际使用案例示例: 我正在为我们的团队编写票务系统。 如果在新的故障单创建时通过电子邮件发送团队失败,我希望它向exception/错误日志报告,但不要向用户报告,无论后备堆栈中的记录失败有多深,用户都不会需要一条错误信息,保存了故障单。 一些错误的位置/例外我想要冒泡,但我现在正在处理的大多数错误位置/exception我没有。

企业库强命名指导包

对于我的生活,我找不到Enterprise Library 4.1的企业库强命名指导包下载 我需要这个来签署程序集以将它们添加到GAC。 有谁知道我能在哪里找到它? 我无法在www.codeplex.com/entlib或www.codeplex.com/entlibcontrib网站上找到它。 救命!

ASP.NETdependency injectionHTTP模块(MS企业库)

我一直在按照“Microsoft Enterprise Library 5.0”文档中的步骤创建一个HTTP模块,以将对Enterprise Library容器的引用注入到ASP.NET Web应用程序的页面中。 它包含以下代码(也可在此处在线显示): using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using Microsoft.Practices.Unity; namespace Unity.Web { public class UnityHttpModule : IHttpModule { public void Init(HttpApplication context) { context.PreRequestHandlerExecute += OnPreRequestHandlerExecute; } public void Dispose() { } private void OnPreRequestHandlerExecute(object sender, EventArgs e) { IHttpHandler currentHandler = HttpContext.Current.Handler; HttpContext.Current.Application.GetContainer().BuildUp( currentHandler.GetType(), currentHandler); // […]