Re: app.config custom types
- From: "sloan" <sloan@xxxxxxxxx>
- Date: Mon, 22 Oct 2007 10:16:01 -0400
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>
.
- Follow-Ups:
- Re: app.config custom types
- From: sam01m
- Re: app.config custom types
- References:
- app.config custom types
- From: ink
- Re: app.config custom types
- From: sloan
- Re: app.config custom types
- From: ink
- app.config custom types
- Prev by Date: Re: Using Reflection with a collection class - syntax question
- Next by Date: Multicolumn Listbox
- Previous by thread: Re: app.config custom types
- Next by thread: Re: app.config custom types
- Index(es):
Relevant Pages
|