{"id":18159,"date":"2022-10-29T16:45:22","date_gmt":"2022-10-29T11:15:22","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-api-client-that-fetches-global-configuration-from-web-config\/"},"modified":"2022-10-29T16:45:22","modified_gmt":"2022-10-29T11:15:22","slug":"solved-api-client-that-fetches-global-configuration-from-web-config","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-api-client-that-fetches-global-configuration-from-web-config\/","title":{"rendered":"[Solved] Api client that fetches global configuration from web.config"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-14313050\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"14313050\" data-parentid=\"14312996\" data-score=\"3\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>Here ya go.<\/p>\n<pre><code>namespace dm2\n{\n    using System.Collections.Specialized;\n    using System.Configuration;\n\n    public class SomeApiClient\n    {\n        internal static NameValueCollection Config\n        {\n            get\n            {\n                if (config == null) config = ConfigurationManager.AppSettings;\n                return config;\n            }\n        }\n\n        internal static NameValueCollection config;\n    }\n}\n<\/code><\/pre>\n<p>Basically you just use a static property in a non static class&#8230;so in order to get your config settings,<\/p>\n<pre><code>public void DoFunConfigStuff()\n{\n    for (var i = 0; i &lt; Config.Count;i++ )\n    {\n        Console.WriteLine(\"[{0}]: {1}\",Config.Keys[i] ,Config[i]);\n    }\n}\n<\/code><\/pre>\n<p>Since you mentioned web.config, I&#8217;m assuming this is a web app. So I&#8217;d like to point out that you should expect that your app pool could be recycled at any time, at which point this would cause the static getter to reevaluate and load new settings. It&#8217;s best not to reply on this.<\/p>\n<p>One thing you could do is serialize this info to some medium, be it disk or database, and then have some kind of db switch, or webpage that will force a reload.<\/p>\n<p>So in that getter it would check for the serialized data, if it doesn&#8217;t exist, check web.config, and then save that data somewhere. Next time it gets recycled it will then pick up the old data. Really depends on your setup I suppose.<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\"><\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Api client that fetches global configuration from web.config <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] Here ya go. namespace dm2 { using System.Collections.Specialized; using System.Configuration; public class SomeApiClient { internal static NameValueCollection Config { get { if (config == null) config = ConfigurationManager.AppSettings; return config; } } internal static NameValueCollection config; } } Basically you just use a static property in a non static class&#8230;so in order to get &#8230; <a title=\"[Solved] Api client that fetches global configuration from web.config\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-api-client-that-fetches-global-configuration-from-web-config\/\" aria-label=\"More on [Solved] Api client that fetches global configuration from web.config\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[324],"class_list":["post-18159","post","type-post","status-publish","format-standard","hentry","category-solved","tag-c"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] Api client that fetches global configuration from web.config - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-api-client-that-fetches-global-configuration-from-web-config\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Api client that fetches global configuration from web.config - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] Here ya go. namespace dm2 { using System.Collections.Specialized; using System.Configuration; public class SomeApiClient { internal static NameValueCollection Config { get { if (config == null) config = ConfigurationManager.AppSettings; return config; } } internal static NameValueCollection config; } } Basically you just use a static property in a non static class&#8230;so in order to get ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-api-client-that-fetches-global-configuration-from-web-config\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-29T11:15:22+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-api-client-that-fetches-global-configuration-from-web-config\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-api-client-that-fetches-global-configuration-from-web-config\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Api client that fetches global configuration from web.config\",\"datePublished\":\"2022-10-29T11:15:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-api-client-that-fetches-global-configuration-from-web-config\/\"},\"wordCount\":179,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"c++\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-api-client-that-fetches-global-configuration-from-web-config\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-api-client-that-fetches-global-configuration-from-web-config\/\",\"name\":\"[Solved] Api client that fetches global configuration from web.config - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-10-29T11:15:22+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-api-client-that-fetches-global-configuration-from-web-config\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-api-client-that-fetches-global-configuration-from-web-config\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-api-client-that-fetches-global-configuration-from-web-config\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Api client that fetches global configuration from web.config\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] Api client that fetches global configuration from web.config - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-api-client-that-fetches-global-configuration-from-web-config\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Api client that fetches global configuration from web.config - JassWeb","og_description":"[ad_1] Here ya go. namespace dm2 { using System.Collections.Specialized; using System.Configuration; public class SomeApiClient { internal static NameValueCollection Config { get { if (config == null) config = ConfigurationManager.AppSettings; return config; } } internal static NameValueCollection config; } } Basically you just use a static property in a non static class&#8230;so in order to get ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-api-client-that-fetches-global-configuration-from-web-config\/","og_site_name":"JassWeb","article_published_time":"2022-10-29T11:15:22+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-api-client-that-fetches-global-configuration-from-web-config\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-api-client-that-fetches-global-configuration-from-web-config\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Api client that fetches global configuration from web.config","datePublished":"2022-10-29T11:15:22+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-api-client-that-fetches-global-configuration-from-web-config\/"},"wordCount":179,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["c++"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-api-client-that-fetches-global-configuration-from-web-config\/","url":"https:\/\/jassweb.com\/solved\/solved-api-client-that-fetches-global-configuration-from-web-config\/","name":"[Solved] Api client that fetches global configuration from web.config - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-10-29T11:15:22+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-api-client-that-fetches-global-configuration-from-web-config\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-api-client-that-fetches-global-configuration-from-web-config\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-api-client-that-fetches-global-configuration-from-web-config\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Api client that fetches global configuration from web.config"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/18159","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=18159"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/18159\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=18159"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=18159"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=18159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}