我发现自己在C#中编写了大量的URL应用设置。通常我只是将它们存储为save()
,但其他时候我会使用单独的Scheme,Host和Path部分。
有没有人最好的做法是如何处理设置文件中的URL以及它们如何处理丢失的斜杠等?
答案 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();