Monday 23 October 2017

Pros and cons of AppSettings vs applicationSettings (.NET app.config / Web.config)

itemprop="text">

When developing a .NET Windows Forms
Application we have the choice between those App.config tags to
store our configuration values. Which one is
better?









key="RequestTimeoutInMilliseconds" value="10000"/>






type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c5612342342" >
name="Project1.Properties.Settings" type="System.Configuration.ClientSettingsSection,
System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c5612342342"
requirePermission="false" />







serializeAs="String">
TABLEA










Answer




The basic
is easier to deal with - just slap in a
entry and you're
done.



The downside is: there's no type-checking,
e.g. you cannot safely assume your number that you wanted to configure there really is a
number - someone could put a string into that setting..... you just access it as
ConfigurationManager["(key)"] and then it's up to you to know
what you're dealing with.



Also, over time, the
can get rather convoluted and messy, if
lots of parts of your app start putting stuff in there (remember the old windows.ini
file? :-)).



If you can, I would prefer and
recommend using your own configuration sections - with .NET 2.0, it's really become
quite easy, That way, you can:





  • a) Define your
    configuration settings in code and have them type-safe
    and checked

  • b) You can cleanly separate YOUR
    settings from everyone
    else's. And you can reuse your config code,
    too!



There's a series of
really good articles on you to demystify the .NET 2.0 configuration system on
CodeProject:





  1. href="http://www.codeproject.com/KB/dotnet/mysteriesofconfiguration.aspx"
    rel="noreferrer">Unraveling the mysteries of .NET 2.0 configuration


  2. href="http://www.codeproject.com/KB/dotnet/mysteriesofconfiguration2.aspx"
    rel="noreferrer">Decoding the mysteries of .NET 2.0
    configuration


  3. href="http://www.codeproject.com/KB/dotnet/mysteriesofconfiguration3.aspx"
    rel="noreferrer">Cracking the mysteries of .NET 2.0
    configuration




Highly
recommended! Jon Rista did a great job explaining the configuration system in .NET
2.0.


No comments:

Post a Comment

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print &q...