标签: enterprise-library

企业库CacheFactory.GetCacheManager抛出空引用

我正在尝试将使用1.1版企业库缓存块的应用程序转换为2.0版本.我认为我真正遇到的问题是,不同EntLib部件的配置被拆分为多个文件.显然,这曾经由ConfigurationManagerSectionHandler处理,但现在已经过时,支持.NET 2.0中的内置配置机制.

我很难找到一个如何进行配置文件拆分的好例子,特别是在EntLib的上下文中.还有其他人处理过这件事吗?

c# configuration enterprise-library

5
推荐指数
1
解决办法
7849
查看次数

5
推荐指数
2
解决办法
6368
查看次数

记录到MSMQ /文本文件/数据库的性能比较

我们有几种登录.NET(C#)服务器应用程序的选择.我们将使用企业库.所以这里有方法:

1)同步向MSMQ写入日志,然后用Win Service读取MSMQ.队列位于服务器应用程序的本地计算机上.
2)同步写入磁盘(即滚动文本文件).
3)同步将日志写入数据库(Oracle,在我们的应用程序中).

日志量可能相当高.那么哪一个是最高效的?我猜订单是1,2,3.我是对的吗?除了写入速度之外,在这种特定情况下还有其他性能因素吗?还有其他选择,我在这里没有指出,这可能是更好的方法吗?

.net logging enterprise-library msmq

5
推荐指数
1
解决办法
2979
查看次数

MEF,EntLib和Prism之间的差异

我有一个相对基本的问题,但实际上只需要一些清晰度,我一直在使用Prism(复合应用指南)在C#中创建一个WPF MVVM桌面应用程序,这一点我都清楚(或者我认为)沿着与IoC和基于模块的架构等.同时我开始使用MEF并意识到两者之间存在一种灰色区域(我已经发现并阅读了许多关于在IoC容器中托管MEF扩展的文章/博客类似.

但是......最近我开始关注企业库5,这是什么导致了我的困惑.它们在哪里组合在一起?所以Prism使用DI和基于模块的架构...... EntLib使用Di和应用程序块类型架构...... MEF根本不使用DI?这是否意味着EntLib和Prism是完全独立的架构方法,或者一个是另一个的子集?MEF也可以和/两者一起使用吗?

任何解释都是最受欢迎的.

非常感谢

enterprise-library prism mef

5
推荐指数
1
解决办法
2151
查看次数

Microsoft.Practices.EnterpriseLibrary.Data:在一个事务中执行多个语句

我最近开始使用现有项目,它与Microsoft.Practices.EnterpriseLibrary.Data对象一起使用.

现在我想在一个事务中执行多个存储过程(1:n插入必须全部失败或成功)

但我不知道如何......

谁能帮我吗?

在这个项目中执行sp的典型代码如下所示:

Database oDatabase = DatabaseFactory.CreateDatabase(CONNECTION_STRING_KEY);
DbCommand oDbCommand = oDatabase.GetStoredProcCommand("upCustomer_Insert");

Int32 iCustomerKey = 0;
oDatabase.AddInParameter(oDbCommand, "Firstname", DbType.String, p_oCustomer.FirstName);
oDatabase.AddInParameter(oDbCommand, "Lastname", DbType.String, p_oCustomer.LastName);

oDatabase.ExecuteNonQuery(oDbCommand);
Run Code Online (Sandbox Code Playgroud)

c# ado.net enterprise-library

5
推荐指数
1
解决办法
9152
查看次数

企业库日志记录+动态连接字符串

我正在使用企业库日志记录和异常处理.
目前我在配置文件中添加连接字符串,这意味着它是静态的.
我的问题是用户可能每次都连接到不同的数据库,具体取决于他的用户名.有没有办法在运行时更改连接字符串?

.net c# enterprise-library

5
推荐指数
1
解决办法
885
查看次数

企业库日志记录:自定义跟踪侦听器,它将消息发送到任意WCF端点

我正在尝试为Enterprise Library Logging编写一个自定义跟踪侦听器,它将所有日志消息发送到任意WCF端点.这背后的想法是我可以在另一端设置一个简单的控制台应用程序,它可以实时打印出所有日志消息.

我的问题分为两部分:

  1. 有没有一种机制可以做到这一点?我已经查看了MSMQ监听器,我对使用它并不感兴趣,因为我可能需要在某些时候使用不同的协议/绑定.
  2. 我在下面实现它的方式 - 它是否足够有效还是有更好的方法?我担心的是每次来自Logger的消息(可能经常发生)我都会打开一个新频道,然后关闭它.这会导致性能问题吗?

在我的样本中RemoteClient派生自ClientBase<T>.

[ConfigurationElementType(typeof(CustomTraceListenerData))]
public class RemoteTraceListener : CustomTraceListener
{
    public override void Write(string message)
    {
        RemoteClient client = new RemoteClient();
        client.Open();
        client.Write(message);
        client.Close();
    }

    public override void WriteLine(string message)
    {
        RemoteClient client = new RemoteClient();
        client.Open();
        client.WriteLine(message);
        client.Close();
    }

    public override void TraceData(TraceEventCache eventCache, string source, TraceEventType eventType, int id, object data)
    {
        if (data is LogEntry && this.Formatter != null)
        {
            WriteLine(this.Formatter.Format(data as LogEntry));
        }
        else
        {
            WriteLine(data.ToString()); …
Run Code Online (Sandbox Code Playgroud)

c# wcf logging enterprise-library trace-listener

5
推荐指数
1
解决办法
3244
查看次数

iOS开发者计划(99美元/年)和iOS开发者企业计划(299美元/年)之间的差异?

我想知道iOS开发人员计划iOS企业计划之间有什么不同,以及如何在iOS企业计划中公开我的应用程序.什么是可用的,我已经在iOS开发人员计划(Appstore)上传了其他我的应用程序,但我不知道知道如何在企业计划中发布.谁能帮帮我吗?

enterprise-library app-store ios

5
推荐指数
2
解决办法
6340
查看次数

ConfigurationChangeWatcher.Poller()

当我分析我的应用程序时,似乎有70%的时间花在了方法上:Microsoft.Practices.EnterpriseLibrary.Configuration.Storage.ConfigurationChangeWatcher.Poller()从我可以收集的内容来看,这个方法应该每50秒调用一次我发现很难相信它实际上占用了那么多时间.有谁知道如何降低调用此方法的频率?

c# caching enterprise-library

5
推荐指数
1
解决办法
469
查看次数

超时已过期.从池中获取连接之前经过的超时时间.企业图书馆

我的ASP.NET 4.0生产应用程序遇到重新发生的问题,导致站点由于超时错误而无响应.

以下是该应用程序的简要概述.该应用程序驻留在3台服务器上; Web服务器,应用服务器和运行SQL Server 2008的数据库服务器.所有服务器都在Windows Server 2008上运行.Web服务器驻留在公共域中.应用服务器驻留在DMZ中,通过端口80和443通过WCF在Web服务器之间进行开放式通信.数据库服务器驻留在私有域中,通过端口1433与应用服务器进行开放式通信.该应用程序已经生产了一段时间,并且只在上周经常遇到这些问题.没有代码更改,托管服务提供商表示最近没有对服务器进行任何更改.

在Web服务器上,应用程序遇到下面发布的错误(错误1).快速修复解决方案是重新启动应用服务器IIS进程,但是,这是一个反复出现的问题,并导致业务所有者出现重大中断.

应用程序的DAL使用Enterprise Library v4.1打开与数据库的连接.我已经包含了2个代码片段,负责启动呼叫(代码1和代码2).以各种其他方法重复该方法.ExecuteReader方法可能没有正确关闭连接吗?没有覆盖允许我指定ConnectionBehavior来关闭连接的方法.

我们执行了SQL配置文件分析,并确定没有与DB的延迟打开连接.

在研究问题的同时,有人建议企业库可能存在连接未被妥善处理的错误,但是在帖子上没有验证.如何确定问题的原因?或者解决问题的适当行动方案是什么?我可以增加池大小,但这似乎只是一个临时解决方案.

错误1:

***System.ServiceModel.FaultException: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached. at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) at System.Data.SqlClient.SqlConnection.Open() at Microsoft.Practices.EnterpriseLibrary.Data.Database.GetNewOpenConnection() at Microsoft.Practices.EnterpriseLibrary.Data.Database.GetOpenConnection(Boolean disposeInnerConnection) at Microsoft.Practices.EnterpriseLibrary.Data.Database.ExecuteReader(DbCommand command) at Microsoft.Practices.EnterpriseLibrary.Data.Database.ExecuteReader(String storedProcedureName, Object[] parameterValues) at CityStoreDAL.NavigationProvider.GetNavigator(Int32 navigatorID) in c:\TFS\CityStore\DEV\SRC\CityStoreDAL\NavigationProvider.cs:line 41 at CityStoreBLL.Navigation.GetNavigator(Int32 navigatorID) in …
Run Code Online (Sandbox Code Playgroud)

asp.net wcf enterprise-library timeout connection-pooling

5
推荐指数
1
解决办法
1517
查看次数