gpt4 book ai didi

visual-studio - Visual Studio F# 解决方案中配置文件的最佳实践

转载 作者:行者123 更新时间:2023-12-04 06:20:09 25 4
gpt4 key购买 nike

我想知道是否有在 F# 解决方案中设置配置文件的最佳实践。下面是我的配置文件示例,我的 F# 解决方案中的不同项目使用了它。

我的配置文件:

<?xml version="1.0" encoding="utf-8" ?>
<Config>
<Segment>
<SegmentTypes>
<Did>did</Did>
<PostCode>postcode</PostCode>
<Ip>/ip</Ip>
</SegmentTypes>

</Segment>

<SThreeConfig>
<AccessKey>aaa</AccessKey>
<SecretKey>bb</SecretKey>
</SThreeConfig>

</Config>

我可以将上面的内容放在内置的 App.config 中。由于 App.config 不允许嵌套标签,它会随着我的配置增长而变得困惑。

到目前为止,我们找到的最佳解决方案如下。
创建顶级项目配置,并在该项目中, 创建一个源文件以使用 xml 类型提供程序读取 myConfig.xml。 然后将 myConfig.xml 中的值包装在静态属性中 类 AppConfigObj。解决方案中的其他项目将访问配置属性 通过 appConfObj。

module Configuration=
open FSharp.Data
open System

// Other projects acccess the configuration properties using AppConfigObj.
type AppConfigObj() =
static let [<Literal>] configXmlFile = "myConfig.xml"

static let config = XmlProvider<configXmlFile>.Load(configXmlFile.ToString())

static member didPath = config.Segment.SegmentTypes.Did
static member postcodePath = config.Segment.SegmentTypes.PostCode
static member ipPath = config.Segment.SegmentTypes.Ip
static member s3AccessKey = config.SThreeConfig.AccessKey
static member s3SecreteKey=config.SThreeConfig.SecretKey

最佳答案

虽然默认的配置机制已经足够了,但还是有一个非常实用的替代方案,即使用配置定制类型提供程序:FSharp.Configuration

通过这种方式,您可以使用类型化类来配置和设置文件。

关于visual-studio - Visual Studio F# 解决方案中配置文件的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25228331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com