在App.Config或AppSettings.json中存储URL的最佳方法

时间:2017-06-22 19:24:23

标签: c# console-application

我发现自己在C#中编写了大量的URL应用设置。通常我只是将它们存储为save(),但其他时候我会使用单独的Scheme,Host和Path部分。

有没有人最好的做法是如何处理设置文件中的URL以及它们如何处理丢失的斜杠等?

1 个答案:

答案 0 :(得分:1)

Uri课程有一些方法可以帮助您制作网址。

假设您分别存储Scheme,Host和Path部分,您可以执行以下操作:

string scheme = "https://", host = "stackoverflow.com", path = "questions/44707782/best-way-to-store-urls-in-app-config-or-appsettings-json";
var base = new Uri(String.Concat(scheme, host));
var uri = new Uri(base, relative);

我喜欢静态Settings类:

public static class Settings
{
     public static string Scheme => ConfigurationManager.AppSettings["Scheme"];
     public static string Host => ConfigurationManager.AppSettings["Host"];
     public static string Path => ConfigurationManager.AppSettings["Path"];
     public static Uri BaseUri => new Uri(String.Concat(Scheme, Host));
     public static Uri SomeUri => new Uri(BaseUri, Path);
}

验证设置的一种方法是在Settings类上使用一个名为Validate的方法,尝试使用其中一个Uris

public static void Validate()
{
    var valid = SomeUri; // will throw exception if not valid Uri
}

然后从你的初创班:

Settings.Validate();