C# CLR如何处理配置设置
我很困惑配置文件是如何处理的:基本上每个应用程序都有一个配置,它加载在某个地方,可以很容易地访问。 但是我们有通过反射动态调用的DLL,甚至它们可以从配置中获取数据。这怎么可能 甚至更多:如果DLL位于另一个服务器/位置,如何获取所需的数据 我知道如何将配置文件与Transform等一起使用,但我没有找到好的文章,这些信息是如何保存在内存中的,传播数据的魔力是如何发生的。从开始。重要概念:C# CLR如何处理配置设置,c#,C#,我很困惑配置文件是如何处理的:基本上每个应用程序都有一个配置,它加载在某个地方,可以很容易地访问。 但是我们有通过反射动态调用的DLL,甚至它们可以从配置中获取数据。这怎么可能 甚至更多:如果DLL位于另一个服务器/位置,如何获取所需的数据 我知道如何将配置文件与Transform等一起使用,但我没有找到好的文章,这些信息是如何保存在内存中的,传播数据的魔力是如何发生的。从开始。重要概念: 使用位于[runtime path]\config\目录中的machine.config文件为每台机器全
- 使用位于[runtime path]\config\目录中的machine.config文件为每台机器全局配置.NET运行时
- 每个应用程序都可以覆盖计算机配置
- 应用程序配置文件还包含特定于应用程序的设置
如果您的配置数据比键和值更复杂,请考虑.< /P>
对于读取外部服务器/位置上的配置文件,没有现成的支持。然而,通过实现一个。通常,此提供程序用于非默认配置加密。只要有一点创意,它就可以被黑客攻击,让我们可以将配置数据存储在任何我们喜欢的地方。有关详细信息,请参阅。app.exe.config文件很重要,CLR在启动exe之前使用它配置主AppDomain。这是必要的,因为还没有AppDomainSetup,这是一个鸡和蛋的问题。DLL没有.config文件,它们应该与EXE加载的任何内容一起播放。如果您需要配置使DLL正确运行,而不管EXE使用什么,那么您将需要一个单独的XML文件或将配置设置公开为属性,以便EXE可以设置它们。因此,配置数据加载在AppDomain中,但可以在所有位置共享,是否存在一些隐藏的魔法我们将接下来探讨这是如何工作的?