标签: enterprise-library

在MS Enterprise Library或Log4net等第三方组件上创建包装是一种好的做法吗?

这更像是一个很好的练习题.我想提供不同的通用库,如Logging,caching等.有很多第三方库,如MS企业库,log4Net,NCache等.

我想知道它是一个很好的做法,直接使用它们或在每个服务上创建包装器并使用DI在代码中注入该服务.

问候

c# enterprise-library

9
推荐指数
1
解决办法
2399
查看次数

将参数从DbCommand复制到另一个DbCommand

如何将DbCommand参数复制到另一个DbCommand,我想要一个DbCommand与我的上一个参数相同的新参数DbCommand.但现在使用不同的sql字符串.

.net c# enterprise-library dbcommand input-parameters

9
推荐指数
1
解决办法
7754
查看次数

何时使用ExternallyControlledLifetimeManager?

我正在使用Unity中可用的不同LifetimeManagers,并想知道我们何时会使用ExternallyControlledLifetimeManager?有人可以给我一个真实的例子吗?MSDN文档说"LifetimeManager 对其托管实例持有弱引用 ".

开发人员如何管理实例以及何时应该去找这样的终身经理?您对如何以及何时使用它的想法对我和其他人来说都很有用.谢谢!

.net asp.net-mvc enterprise-library unity-container enterprise-library-5

9
推荐指数
1
解决办法
3560
查看次数

EnterpriseLibrary.Logging写入1小时差异的日志

我们遇到了一个奇怪的日志问题.我们正在使用Microsoft.Practices.EnterpriseLibrary.Logging库来登录我们的Web应用程序,问题是它写入的日志与当前系统时间相差1小时.

我们的记录器基于这篇文章,我们从不在代码中设置日志条目中的时间.每个日志条目都有一个如下所示的标题:

MainLogSource Information: 0 : Timestamp: 11/04/2011 10:15:32 所以这个时间戳总是比系统时间提前1小时(例如,此条目出现在11:15).

哪里可以问题?谢谢

.net c# logging enterprise-library

9
推荐指数
2
解决办法
6389
查看次数

错误:使用ConfigurationElementType属性时"不是属性类"

我正在尝试为企业库5.0的异常处理块创建自定义异常处理程序.据我所知,我需要使用属性"[ConfigurationElementType(typeof(CustomHandlerData))]"启动该类.但是我收到一条错误,指出ConfigurationElementType不是属性类.

有谁知道可能会发生什么?

c# enterprise-library visual-studio-2010

9
推荐指数
2
解决办法
1万
查看次数

返回字符串时,在Database.AddOutParameter中使用Size参数的内容是什么?

我得到一个字符串作为输出参数,并需要知道在调用AddOutParameter时为Size参数设置什么.

我知道我可以使用一些巨大的数字,比如int.MaxValue,但想知道最佳实践.

在SQL Server中,该列实际上是uniqueidentifier类型.正在执行的T-SQL语句插入一条记录,然后将一些输出变量设置为新插入记录的ID和GUID.这是我正在使用的实际代码,但变量名称已更改.

database.AddOutParameter(cmd, "@someInt", DbType.Int32, 0);
database.AddOutParameter(cmd, "@someString", DbType.String, 0);

database.ExecuteNonQuery(cmd);

someInt = (int)database.GetParameterValue(cmd, "@someInt");
someString = database.GetParameterValue(cmd, "@someString").ToString();
Run Code Online (Sandbox Code Playgroud)

执行时,我收到以下错误...

System.InvalidOperationException:String [2]:Size属性的大小无效.

所以对我来说很明显,你不能只使用带字符串输出参数的0大小.你可以用Int32输出参数做到这一点,但我猜一个字符串需要一个有效的大小.那么设置尺寸的最佳做法是什么?它可以只是一个巨大的尺寸而不会影响性能吗?我可以将它设置为int.MaxValue或其他什么?这里可以使用任何常量; (没有看到任何String.MaxValue - 你可能会说我是C#的新手,有Java背景).

我应该找出uniqueidentifier列的最大大小,并将大小设置为该值吗?如果我为VARCHAR或NVARCHAR列做同样的事情呢?

我希望框架能够为我做这件事; 我不想为输出的每个字符串指定一个大小.任何人都有任何建议,以获得最佳实践?

我已经阅读了下面的帖子以及MSDN文档,但我还没有找到最佳实践答案.

AddOutParameter - 查找DBType.Int32长度的非魔数方式

从SQL Server读取VARBINARY(MAX)到C#

.net c# database sql-server enterprise-library

9
推荐指数
1
解决办法
2万
查看次数

在属性中指定允许的枚举值

是否可以指定枚举属性只能有一系列值?

enum Type
{
    None,
    One,
    Two,
    Three
}

class Object
{
    [AllowedTypes(Type.One,Type.Three)]
    Type objType { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

像这样的东西?也许我不知道企业库中的一些验证器?!

c# validation enums enterprise-library

9
推荐指数
1
解决办法
3412
查看次数

VSIXInstaller.NoApplicableSKUsException:此扩展程序无法安装在任何当前安装的产品上

我最近尝试在visual studio 2015中安装企业库6.0,但安装程序抛出错误'VSIXInstaller.NoApplicableSKUsException:此扩展不能安装在任何当前安装的产品上'.我无法解决它.

19-Dec-16 9:59:48 AM - Microsoft VSIX Installer
19-Dec-16 9:59:48 AM - -------------------------------------------
19-Dec-16 9:59:48 AM - Initializing Install...
19-Dec-16 9:59:48 AM - Extension Details...
19-Dec-16 9:59:48 AM -  Identifier         : A42E118F-C41F-47A2-ADB5-04CDEBF8EB90
19-Dec-16 9:59:48 AM -  Name               : EnterpriseLibrary.Config.v6
19-Dec-16 9:59:48 AM -  Author             : Microsoft
19-Dec-16 9:59:48 AM -  Version            : 6.0.1304.1
19-Dec-16 9:59:48 AM -  Description        : Launches the Microsoft Enterprise Library v6 Configuration Console
19-Dec-16 9:59:48 AM -  Locale             : en-US
19-Dec-16 9:59:48 AM - …
Run Code Online (Sandbox Code Playgroud)

installation enterprise-library visual-studio vsix visual-studio-2015

9
推荐指数
3
解决办法
3万
查看次数

在Enterprise Library中更改运行时的连接字符串

有没有办法在运行时更改Enterprise Library中的DataBase对象的连接字符串?我找到了这个链接,但它有点过时(2005)

我也发现了这个,但它似乎一般适用于.Net,我想知道是否有一些东西可以专门为EntLib完成.

我只是将连接字符串名称传递给DatabaseFactory对象中的CreateDatabase()方法,直到昨天我的项目经理要求我支持多个数据库实例.碰巧我们必须为每个状态设置一个数据库(一个用于CA,一个用于FL等),因此我的软件需要循环遍历所有数据库并对数据执行某些操作,但它将使用相同的配置文件.

提前致谢.

.net c# database configuration enterprise-library

8
推荐指数
2
解决办法
3万
查看次数

从EnterpriseLibrary获取LONG RAW数据(字节)

我有问题从oracle获取图像字节数据.reader("image")总是返回0长度.他们的任何解决方法?如果我使用oledb它然后它的工作但不工作Microsoft EnterpriseLibrary.

using (IDataReader reader = ExecuteNonQueryOracle(Query)) 
    {
            while (reader.Read) {
                dict("image") = reader("image");
            }
    }
public object ExecuteNonQueryOracle(string Query)
{

        using (dbCommand == CurrentDatabase.GetSqlStringCommand(Query)) {
            dbCommand.CommandType = CommandType.Text;
            return CurrentDatabase.ExecuteReader(dbCommand);
        }

}
Run Code Online (Sandbox Code Playgroud)

c# oracle enterprise-library oracle11g

8
推荐指数
1
解决办法
224
查看次数