问题标签 [enterprise-library]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1176 浏览

validation - 企业库验证块 - 应该将验证放在类还是接口上?

我不确定放置验证(使用企业库验证块)的最佳位置在哪里?它应该在类上还是在界面上?

可能影响它的事情

  • 从接口继承的类中不会更改验证规则。
  • 从类继承的类中不会更改验证规则。
  • 在大多数情况下,类会发生继承——我怀疑一些边缘情况会从接口继承(但我会尽量避免它)。
  • 接口主要用于 DI,这将通过 Unity 块完成。
0 投票
3 回答
3466 浏览

validation - 企业库验证块 - 验证可为空的属性?

我正在尝试对可空属性(例如 int)进行验证。

例子

但是,如果我设置Age为 null 验证失败,因为它不在范围内,我知道我也需要一个[ValidatorComposition(CompositionType.Or)],但我还应该使用什么?

0 投票
1 回答
1754 浏览

c# - Enterprise Library Database.ExecuteNonQuery 隐藏的性能问题(连接到 IBM iSeries)

我想知道在企业库中使用数据库对象的隐藏性能影响是什么。我有一个 OleDbCommand (type=stored procedue) 正在调用一个 IBM iSeries 存储过程,该过程需要 1.5 到 4.5 分钟才能完成。

如果我使用 iSeries 工具和类似参数手动运行存储过程,则大约需要 5 秒。因此,性能下降要么是在与 iSeries 的网络通信中,要么是在企业库中的数据库对象中隐藏的东西。只是寻找任何想法。

0 投票
3 回答
2176 浏览

enterprise-library - 使用安全应用程序块时到 AzMan XML 存储的相对连接字符串

是否可以为 AzMan XML 存储指定相对连接字符串?

我当前的连接字符串是connectionString="msxml://c:/azman.xml",但我真的需要将其设为相对,以便其他开发人员和自动构建可以获得最新的授权存储。

MS文档似乎表明connectionString="msxml://azman.xml"应该可以工作,但会引发The request is not supported错误。

编辑:我意识到我通过企业图书馆安全应用程序块使用 AzMan 对这个问题很重要。

0 投票
2 回答
1247 浏览

.net - .NET WinForms 和企业库验证应用程序块

我有一个 TextBox,其值在解析为 int 后传递给对象中的 int 属性。

当我使用 ValidationProvider 时,在验证时会忽略此转换步骤,并且我收到一条错误消息,告诉我无法将字符串保存到 int32。

我可以通过在我的对象中创建一个字符串属性来解决这个问题,该属性充当表单中的文本框值和我的业务对象中的 int 值之间的桥梁,但我不喜欢这种方法,因为它需要更改我的域对象以取悦验证层.

如何验证转换后将其值存储到 int 的文本框,而不在域对象中创建桥属性?

0 投票
5 回答
7969 浏览

c# - 具有企业应用程序块的自定义跟踪侦听器

我目前正在从事的项目使用 Enterprise Libraries V3.1 框架进行日志记录。

我需要获取生成的日志文件并在特定点将其归档。内置的跟踪侦听器似乎在记录事件之间保持文件打开。我已经设置了一个自定义跟踪侦听器,它将附加到文件并关闭它,以便该文件始终是可移动的。

它看起来像这样(为了清楚起见,减去错误处理):

这很好用,但我更愿意以某种方式将路径作为参数传递,而不是对其进行硬编码。

为了好玩,我尝试将它添加到构造函数中,看看会发生什么:

当我这样做时,我收到一条错误消息,提示我做错了什么:

从这里开始,我的调查已经非常接近死胡同的反面,无限概率问题。

我在翻阅内置的源代码时发现了这个RollingTraceListener

  • 有一个类RollingFlatFileTraceListenerData : TraceListenerData似乎包含传递给构造函数的所有设置
  • 在文件底部露营的RollingFlatFileTraceListenerDataRollingTraceListenerAssembler : TraceListenerAsssembler似乎是工厂的类
  • 还有另一个类SystemDiagnosticsTraceListenerNode : TraceListenerNode似乎使Data该类可呈现给配置应用程序

我的问题是:如何CustomTraceListener使用可配置参数创建一个path

0 投票
2 回答
3063 浏览

log4net - log4net 与 MS 日志记录应用程序块

我正在尝试了解使用 log4netor 企业库日志记录应用程序块 (LAB) 登录应用程序的利弊。我知道一件事 LAB 使用起来有点困难,然后 log4net。

0 投票
3 回答
3259 浏览

c# - 异常处理应用程序块(Ent Lib 4.1)的两个HandleException()方法之间的本质区别是什么

在 Microsoft 企业库的异常处理应用程序块的最新版本(4.1,2008 年 10 月发布)中,有两个 HandleException() 方法签名,我对这些的意图有点迷茫,特别是因为文档和智能感知都没有,QuickStart 应用程序也没有任何有意义的区别。

这是两个签名:

我发现的所有示例都使用第一个,如本示例中直接从 XML 文档中对实际方法的注释中得出的:

在这里,来自同一来源(该方法的 XML 文档注释)是使用第二个的示例:

所以,我的问题是,使用第二个给你什么,而第一个没有?这对我来说应该是显而易见的,但我今天的脑袋一团糟,我真的不想再把头撞在众所周知的墙上了。:)

请不要猜测;我希望听到有人从使用它的经验中真正知道他们在说什么。

0 投票
1 回答
608 浏览

c# - Data Access Layer Strategy

I have a query about the Microsoft's Enterprise Library Data Access Application Block and NHibernate.

We are in the designing phase of our Software of Anti Money Laundering.

The Criteria is as below:

We have Customer Class which contains Account Class in One to Many relationship. The model is as follows: Customer 1->M Accounts

The Classes are defined like:

The Tables are defined like:

We have decided to go for Designing our Data Access Layer either with MSEL or NHibernate. So Can you guide me that:

  1. What are the Pros & Cons of either of these Strategies?
  2. Should we Combine NHibernate with MSEL?
  3. Should we go for our own designed ORM based strategy with MSEL?
  4. Or some other Strategy from you technical Architect?

Please help me in this regard: which strategy is best? Or provide any other strategy. Please give your rationale as well.

0 投票
1 回答
3280 浏览

c# - 为什么企业库会引发间歇性的“数据连接无法打开”错误?

我支持一个 3 年的 Windows 服务(C# .Net 1.1),它使用企业库来管理它与 SQL 服务器的连接。该服务监视传入的消息,并根据消息执行各种任务,其中大部分涉及更新数据库。据我所知,该服务是单线程的,并且一次从队列中读取一个消息。

在过去的几天里,有几次我们看到它随机“中断”(最后一次是在昨晚午夜左右)。在这些时间里,对数据库的一些(但不是全部)更新失败(大约 20% 可能),我们在事件日志中看到很多警告,在我们的文件日志中看到错误(在下面重现)。重新启动服务使一切再次完美运行。

我在想这可能与企业库中的连接池有关?企业库是否有可能试图维护一个比数据库服务器允许的连接池更多的连接?但我不明白为什么会这样,为什么它不会更优雅地失败。

有没有办法从我的企业库日志中获取更多关于这些失败的真正原因的信息?

事件日志中的警告类似于:(稍作编辑)

同时,在错误日志文件中,我们看到来自企业库的空引用异常,当从我们的服务调用时,如下所示:(再次,稍作编辑)

早些时候(在之前的“破碎”阶段),我们看到了像这样的例外:(再一次,稍微编辑成腼腆!)。这就是让我怀疑连接池有问题的原因。我认为这是我们的代码将其(非错误)活动记录到数据库的地方,但企业库代码无法再次连接到数据库(总是加上前面提到的“数据连接无法打开”错误。

非常感谢任何帮助,尤其是从我们的日志中获取更多信息的指针。

其他背景信息:windows 服务是用 C# .Net 1.1 编写的,在 Windows Server 2003 机器上运行,在域帐户下(对所需的 DB 具有所有正确权限)。数据库服务器是 SQL 2005,在 Windows Server 2008 上以 2000 兼容模式(Yay legacy!)运行。