Re: app.config custom types

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance



No problem.

Keep in mind my sample is not a direct KB on "how to implement a custom
handler".

I actually have written one to use with my smtp settings thingy.

//Quote from article//
You can download the code HERE. (Right-Click and "Save As" works best)
//End Quote

After you get the code, find this class:
EmailSmtpSettingsHandler : IConfigurationSectionHandler

and throw a break point in there.

You're basically taking xml, and writing xpath statements to populate some
other object.
Aka, you gotta write the glue code which takes XML and converts it to a real
object.

Now, in your case, you're gonna take the xml, and then try and use it for a
deserialization.
Thus the second URL might come in handy.

.............




"ink" <ink@xxxxxxxxxxxxxx> wrote in message
news:%239fBNVKFIHA.1164@xxxxxxxxxxxxxxxxxxxxxxx

thanks heaps Sloan, i knew there must have been something i was missing.





"sloan" <sloan@xxxxxxxxx> wrote in message
news:uLaRXOKFIHA.748@xxxxxxxxxxxxxxxxxxxxxxx

When you write a "Custom Config Section", you gotta write a "Custom
Config Handler".

..

This entry shows how to write a custom configuration handler (based on
some xml in the config file).
http://sholliday.spaces.live.com/Blog/cns!A68482B9628A842A!138.entry

Search for "Handler" and "Settings" in the downloadable code.


Here are some xml tidbits as well.
http://sholliday.spaces.live.com/Blog/cns!A68482B9628A842A!114.entry


You need to go through and understand the FIRST URL above first.
There are some MS links in the headers of some of the source files as
well.

..





"ink" <ink@xxxxxxxxxxxxxx> wrote in message
news:O4mUbKKFIHA.284@xxxxxxxxxxxxxxxxxxxxxxx
Hi all,

Is this possable, and how if so?

i have created 3 classes that i have then Serialized to xml and placed
in a textbox. i can then read the text from the textbox and Deserialize
it back into a new object. this to me proves that the classes and the
xml are valid.

But when i take that same xml and past it into the App.Config file and
use the
Configuration.GetSection("ImportFormat").SectionInformation.GetRawXml();
to read it from the config file and then Deserialize it i get the
following error.

- ex {"There is an error in XML document (0, 0)."} System.Exception
{System.InvalidOperationException}
- InnerException {"The type initializer for
'System.Xml.Serialization.XmlSerializationReader' threw an exception."}
System.Exception {System.TypeInitializationException}
- InnerException {"Configuration system failed to initialize"}
System.Exception {System.Configuration.ConfigurationErrorsException}
+ InnerException {"Unrecognized configuration section ImportFormat.
(C:\\Learn\\Csharp\\Desk\\AppConfigTest\\AppConfigTest\\AppConfigTest\\bin\\Debug\\AppConfigTest.vshost.exe.config
line 4)"} System.Exception
{System.Configuration.ConfigurationErrorsException}


Is what i am trying to do not possable?

i have pasted app.config below.

thanks,
ink





<?xml version="1.0" encoding="utf-8" ?>
<configuration>

<ImportFormat>
<ImportRecord TableName="GoodsExpected" RowIdentifier="H"
IndexOfInsertion="0" NoOfRowsPerRecord="5">
<FieldData ColumnName="STORAGE PROVIDER" FieldName="CompanyID"
ColumnIndex="1" RowIndex="0" Required="true" />
<FieldData ColumnName="WAREHOUSE" FieldName="WarehouseID"
ColumnIndex="2" RowIndex="1" Required="true" />
<FieldData ColumnName="ASN REFERENCE" FieldName="ReferenceID"
ColumnIndex="2" RowIndex="2" Required="true" />
<FieldData ColumnName="EXPECTED DATE" FieldName="ExpectedDate"
ColumnIndex="2" RowIndex="3" Required="true" />
<FieldData ColumnName="CUSTOMERID" FieldName="SupplierID"
ColumnIndex="2" RowIndex="4" Required="true" />
</ImportRecord>
<ImportRecord TableName="GoodsReceivedBatch" RowIdentifier="D"
IndexOfInsertion="1" NoOfRowsPerRecord="1" HeaderRowIdentifier="H">
<FieldData ColumnName="PALLET ID" FieldName="PalletID" ColumnIndex="1"
RowIndex="0" Required="false" />
<FieldData ColumnName="ITEM CODE" FieldName="ItemID" ColumnIndex="2"
RowIndex="0" Required="true" />
<FieldData ColumnName="QTY" FieldName="Qty" ColumnIndex="3"
RowIndex="0" Required="true" />
<FieldData ColumnName="ITEM DESCRIPTION" FieldName="Description"
ColumnIndex="4" RowIndex="0" Required="false" />
</ImportRecord>
</ImportFormat>


</configuration>











.



Relevant Pages

  • Re: Creating A Configuration Settings Object
    ... As for creating custom configuration section for .NET framework application ... configuration section handler interface: ... Microsoft MSDN Online Support Lead ...
    (microsoft.public.dotnet.languages.csharp)
  • RE: Wanting to read XML blob from configuration
    ... So it sounds like you're saying that if I want raw XML from a .NET app config ... I know that you have custom data, the reasonly I suggest the .NET ... configuration model is because you want to save them into app.config. ...
    (microsoft.public.dotnet.framework)
  • Re: Unsolvable problem
    ... "Søren Lund" wrote in message ... > I have implemented a custom config section handler by implementing the ... I have registered this handler ... An error occurred during the processing of a configuration ...
    (microsoft.public.dotnet.framework)
  • Unsolvable problem
    ... I have implemented a custom config section handler by implementing the ... An error occurred during the processing of a configuration ... in I have placed the following which registers my ...
    (microsoft.public.dotnet.framework.aspnet)
  • Unsolvable problem
    ... I have implemented a custom config section handler by implementing the ... An error occurred during the processing of a configuration ... in I have placed the following which registers my ...
    (microsoft.public.dotnet.framework)