问题标签 [enterprise-library-6]
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.
asp.net-core-mvc - EnterpriseLibrary 6 与 MVC 6 的 DatabaseProviderFactory
DatabaseFactory
以前用于ConnectionString
创建数据库。现在DatabaseProviderFactory
使用ConfigurationSource
它基本上适用于 XML 格式的web.config的MVC 5结构。
以前我们可以做如下的事情:
关于如何获取EnterpriseLibrary 6目前在MVC 6 (appsettings.json)DatabaseProviderFactory
中提到的基于 JSON 的数据库配置的任何想法,以便创建通用数据库,如下所示,它仅适用于 MVC 5 的XML 形式的web.config文件:
.net - 在 MS 企业库中枚举 DbProviderFactories 返回不同的结果
我有多个应用程序使用 MS Enterprise Library 和 Oracle ODP.Net 驱动程序连接到 Oracle。
一个应用程序,一个 Windows 服务,在尝试创建到 Oracle DB 的连接时抛出以下错误:
数据库“MyDBName”的连接字符串不存在或没有有效的提供程序。
另一个应用程序,一个 Web 服务,做同样的事情,而且运行良好。两者都在我的计算机上本地运行。
在 Windows 服务中,我检查了明显的情况:连接字符串实际上在那里,名称拼写正确,并且 Db 提供程序 Oracle.DataAccess.Client 在那里并且拼写正确。我还确认 ODP.net 已在 machine.config 中正确安装和配置(这必须是因为 Web 服务有效)。web 和 win 服务都使用 .net 4.5.1。所以我相信所有显而易见的事情都被排除了。
进入 ent lib 代码我发现异常的来源是因为这个方法在 windows 服务下调用时返回 false:
在 Web 服务下运行时返回 true。在这两种情况下,提供的 providerName 的值都是相同的 (Oracle.DataAccess.Client)。然后我查看了 GetFactoryClasses() 返回的 Rows,发现在 windows 服务下,只有少数(大约一半)注册的工厂类从 machine.config 中返回,而 Oracle 不在其中。所以这就是它失败的原因。为了让它正常工作,我在 app.config 中为我的服务添加了以下内容:
这些是直接从 machine.config 中复制出来的。
所以我的问题基本上是,为什么在相同版本的 .net 下运行的两个应用程序在枚举注册的 DbProviderFactories 时不会产生一致的结果?
connection-string - net core 1 (dnx 4.5.1) with enterpriselibrary 6 - 设置连接字符串
我在使用 net core 1 (dnx 4.5.1) 运行企业库数据访问块时遇到了大问题
如何为 entlib 设置默认连接字符串
我的 appsettings.json "ConnectionString": "Server=localhost\sqlexpress;Initial Catalog=blind;User Id=blind;Password=blind"
这是我的问题(没有默认连接字符串) Database db = DatabaseFactory.CreateDatabase();
我如何将 appsettings ConnectionString 传递给 entlib 数据库工厂
任何帮助将不胜感激
c# - 企业库日志记录和文本格式化程序模板令牌。如何?
我正在尝试让我的日志记录组件按我的意愿工作。当我遇到这篇文章时如何配置企业库 6.0 日志记录到数据库?
我发现格式化程序:
包含我不知道如何使用的“文本格式化程序模板标记”?
我目前的日志记录类如下所示:
我想记录有关异常的更多信息,而不仅仅是消息。例如,可以使用 Text Formatter Template Token 建议的堆栈跟踪。
但是,我不知道该怎么做?有没有人对如何实现对上述文本格式化程序的支持有任何经验?
目前的日志输出如下所示:
亲切的问候!
Ps 我正在使用 Enterprise Library 6.0
.net - 将应用程序从 Enterprise Library 5 升级到 6
我正在将现有应用程序从 5 升级到 6。我的应用程序是 .NET Web 应用程序。我依靠企业库将任何错误记录到数据库(sql server)。
我的应用程序还使用自定义数据库侦听器和自定义日志记录异常处理程序(在我的解决方案中都采用单独的 .net 项目的形式)。
所以,我安装了 6 个,并将以下代码添加到 Application_Start-
当它遇到 Logger.SetLogWriter(new LogWriterFactory().Create()); 时,我得到一个 System.NotImplementedException 行代码。
编辑:更具体的错误细节
我究竟做错了什么?
这是我的 web.config-
编辑:感谢@lrb 让我走上了正确的道路。这是有效的代码-
c# - 如何检查是否设置了 LogWriter?
我正在尝试处理从 Enterprise Library 4 升级到 6 后最近弹出的 Enterprise Library 6 LogWriter 异常。
我要么得到:
尚未为 Logger 静态类设置 LogWriter。设置它调用 Logger.SetLogWriter 方法。
或者
LogWriter 已经设置好了。
……视情况而定。
问题是它抛出了一个InvalidOperationException
似乎太通用而无法处理的问题,甚至检查使用
...也会产生一个异常,那么如何检查作者是否已设置?
c# - 清除企业库日志记录日志文件
我将如何删除/清除/擦除/覆盖通过 EL6 日志记录写入的日志文件。我正在使用 logwriter 实例写入日志文件,当我的程序在连续循环中运行时,每个周期都需要覆盖该日志文件。我将写入值,然后在新值出现时覆盖。
visual-studio-2015 - 企业库 6 - VS 2015 - Windows 10
EL6 会在不久的将来在 Win10 和 VS 2015 上支持吗?我想安装 ConfigConsole.visx 以便在设计器中配置所有东西。
VSIXInstaller.NoApplicableSKUsException:此扩展不可安装在任何当前安装的产品上
13.09.2016 10:11:49 - 支持的产品:13.09.2016 10:11:49 - Microsoft.VisualStudio.Ultimate 13.09.2016 10:11:49 - 版本:[11.0] 13.09.2016 10:11:49 - Microsoft .VisualStudio.Premium 13.09.2016 10:11:49 - 版本:[11.0] 13.09.2016 10:11:49 - Microsoft.VisualStudio.Pro 13.09.2016 10:11:49 - 版本:[11.0]
enterprise-library - 禁用 FileConfigurationSourceChanged 上的日志记录 - LogEnabledFilter
我希望管理员在运行时通过更改配置中 LogEnabledFilter 的 enabled 属性来启用/禁用日志记录。
SO上有几个线程可以解释解决方法,但我希望这样。我尝试像这样更改启用日志记录的过滤器:
但是测试总是显示最初加载的配置值,它不会改变。我认为,当更改配置中的值时,更改将自动传播到运行时配置。但事实并非如此!如上面的代码所示以编程方式设置它也不起作用。
是时候重建 Enterprise Library 或将其关闭了。
visual-studio-2015 - 如何在 Win 8 和 VS2015 上重建 Enterprise Library 6
我已经自定义了企业库,现在想要重新构建它,但是从 VS2015 的开发人员命令提示符执行 BuildLibrary.bat(脚本文件夹)时出现一些错误。
环境:
- 赢 8
- VS2015
两个问题:
1.)
无法加载文件或程序集 'file:///C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft. Build.Tasks.v12.0.dll
在我的系统上,我有一个更新的版本:
Microsoft.Build.Tasks.v4.0.dll
2.)
"C:\EntLib6Source\Blocks\EnterpriseLibrary.sln" (重建目标) (1) -> "C:\EntLib6Source\Blocks\SemanticLogging\Src\SemanticLogging.Database\SemanticLogging.Database.csproj" (重建目标) (53) ->“C:\EntLib6Source\Blocks\TransientFaultHandling\Source\TransientFaultHandling\TransientFaultHandling.csproj”(清洁目标)(35:11) -> C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\ AppxPackage\Microsoft.AppXPackage.Targets(283,22): 错误 MSB4086: 尝试对“10.0.11000.0”进行数值比较,结果为“10.0.11000.0”而不是数字,条件为“'$(TargetPlatformVersion)' >= '10.0.11000.0'”。[C:\EntLib6Source\Blocks\TransientFaultHandling\Source\TransientFaultHandling\TransientFaultHandling.csproj]
"C:\EntLib6Source\Blocks\EnterpriseLibrary.sln" (重建目标) (1) -> "C:\EntLib6Source\Blocks\SemanticLogging\Src\SemanticLogging\SemanticLogging.csproj" (重建目标) (52) -> (CheckPrerequisites target) ->
C:\EntLib6Source\Blocks.nuget\nuget.targets(71,9):错误 MSB4175:无法从程序集“C:\Windows\Micros oft.NET\Framework”加载任务工厂“CodeTaskFactory” \v4.0.30319\Microsoft.Build.Tasks.v12.0.dll”。无法加载文件或程序集 'file:///C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft. Build.Tasks.v12.0.dll' 或其依赖项之一。该系统找不到指定的文件。[C:\EntLib6Source\Blocks\SemanticLogging\Src\SemanticLogging\Seman ticLogging.csproj]