问题标签 [shared-config]

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 投票
1 回答
25 浏览

wpf - 我的配置设置到哪里去了?

在经历了一些冗长而复杂的故事之后,我发现了与此非常相似的代码,并且几个月来一直在使用它。昨天我改变了很多东西,现在这段代码不再工作了。

然后,我得到这样的配置值:

在哪里

但是,现在基本上在一夜之间,调用var settingTag = sharedConfig.AppSettings.Settings[settingName];返回settingTag为 null,因为该集合中没有appSettings项目。

我已经在这个项目上工作了几个月,我把这个配置代码放在一开始,因为我有几个可执行文件在同一个文件夹中运行,我希望它们都使用相同的配置。我真的很难过(并不感到惊讶)我没有对配置进行任何令人难忘的代码更改。

谁能看到我可能搞砸了什么,或者猜测我可能改变了哪些外部影响,或者任何可能突然导致这个Configuration对象的所有部分都变空的事情。

我有但无法追踪的一个怀疑是该应用程序运行的用户发生了变化。这很复杂:我有一个托管在 Windows 服务中的 WCF 服务,由 WPF 应用程序使用。

0 投票
1 回答
661 浏览

iis - 我是否需要使用共享配置为 iis 实例指定 MachineKey?为什么?

我正在按照本教程使用共享配置设置 iis webfarm:

http://www.iis.net/learn/manage/managing-your-configuration-settings/shared-configuration_264

在这篇文章中,它提到了如何导出 iisConfigurationKey 以在其他机器上导入。但是文章没有提到我是否需要指定机器密钥而不是使用自动生成的密钥。

我尝试过不导出/导入 iisConfigurationKey 并继续在每台机器上使用自动生成的密钥。似乎它工作正常。但是,机器密钥如何在不同的机器上同步感觉有点奇怪。

所以我的问题是:如果我使用共享配置,是否需要设置机器密钥,为什么?

0 投票
1 回答
317 浏览

iis - 网络驱动器上的 IIS 共享配置 - 如果网络暂时中断,IIS 不会恢复

我们有几台服务器使用存储在网络存储上的共享 IIS 配置。在对该存储的访问关闭几秒钟(然后又回来)后,IIS 在您执行 iisreset 之前无法工作。

问题似乎是本地应用程序池配置文件已损坏。更准确地说,给出的错误是“配置文件不是格式良好的 XML”,如果您转到应用程序池配置,您会看到它包含以下内容而不是实际配置:

现在,试图解决这个问题,我们遇到了“离线文件”功能并尝试了共享的 applicationHost.config,但它不会同步(说其他进程正在使用该文件,这很奇怪 - 我可以轻松更改并保存)。共享路径以 IP 开头(如 \1.2.3.4...) - 也许这就是问题所在(不知道为什么会这样,只是暂时没有想法)?

基本上,我有两个问题:1)如果共享配置暂时不可用,如何使 IIS 恢复并且在 iisreset 之前不会留下损坏的文件?2)完全防止这种情况的任何其他想法。

0 投票
0 回答
74 浏览

php - 以原子方式更新共享配置文件 (php)

[Linux 上的 PHP 7]

我正在尝试在几个异步运行的 PHP 脚本之间创建一个共享配置文件。

一种脚本是“作家”。它将知道何时有新的配置数据可用,并负责将此配置写入共享配置文件。没有其他脚本有权写入该文件。配置包含一个 JSON 字符串,应该写在单个 fwrite() 或 file_put_contents() 中。

数据太小了,引入数据库引擎或其他过于复杂的共享机制似乎有点过头了。

所有其他脚本(“阅读器”)需要能够随时打开文件并阅读内容,并确保内容完整(而不是在写入过程中)。

flock() 的问题在于,如果任何 Reader 打开文件并使用 LOCK_SH,则 Writer 无法获取文件上的 LOCK_EX,并且会阻塞。由于 Reader 会随机打开文件,因此可能存在重叠,并且可能永远不会出现所有 Reader 都释放文件的时间,因此 Writer 可能会无限期地等待而不会获得文件的排他锁。

Writer 必须能够在新配置适用时随时更新配置,但如果任何 Reader 在更新期间尝试打开配置(或正在读取现有文件),他们应该仍然看到之前的完整文件而不是空白或部分写入的文件。

最好将更新的配置写入临时文件,然后使用 rename() 替换现有文件?(rename() 在文件系统中执行时似乎是一个原子操作。

0 投票
0 回答
251 浏览

c# - Live Unit Testing“无法打开 configSource 文件”错误

我有一个 Helper 项目H,其中包含一个配置文件,该文件将用作其他项目的共享configSource文件。文件中的代码(SharedConnectionString.config):

我有一个测试项目A有它自己的App.configSharedConnectionString.config添加为文件链接

项目A中的配置文件:

项目中的配置文件**A**

App.config我有:

现在,测试项目编译,单元测试成功运行,但 Visual Studio 的 Live Unit Test 功能出现错误:

实时单元测试错误

我在这里这里尝试了解决方案。没有一个解决了这个问题。

向 Microsoft打开了一个问题,以查看帮助是否来自某个地方..

0 投票
0 回答
189 浏览

iis - IIS 共享配置 > HTTP 错误 500.21

我正在尝试dotnet core在 IIS集群环境中运行我的应用程序。当共享配置被禁用时,它可以完美运行。但很快我启用共享配置,应用程序无法启动,并给出错误:

HTTP Error 500.21 - Internal Server Error

Handler "ExtensionlessUrl-Integrated-4.0" has a bad module "ManagedPipelineHandler" in its module list

几天以来我一直在寻找解决方案,但对我没有任何帮助。SO上的大多数帖子要求安装/重新安装.NET 4/4.5等,但这不适用于我的情况,因为它已经更新。

以下是我的配置的相关部分 (如果需要,我可以提供更多)

网络配置

共享 applicationHost.config

有什么我想念的吗?当禁用 IIS 的共享配置或通过 .exe 运行时,应用程序运行良好。所以我相信已经安装了所需的功能。共享配置案例是否特别需要任何功能/包?请指导。