<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Westwind.Utilities</name>
    </assembly>
    <members>
        <member name="T:Westwind.Utilities.Configuration.AppConfiguration">
            <summary>
            This class provides a base class for code-first, strongly typed configuration 
            settings in .NET. It supports storing of configuration data in
            .NET .config files, plain XML files, strings and SQL Server databases and
            custom providers.
            
            Using this class is easy: Create a subclass of AppConfiguration and 
            then simply add properties to the class. Then instantiate the class, 
            call Initialize(), then simply access the class 
            properties to read configuration values.
            
            The default implementation uses standard .NET configuration files and a 
            custom section within that file to hold configuration values. Other 
            providers can be used to store data to different stores and you can create 
            your own custom providers to store configuration data in yet other stores.
            <seealso>Managing Configuration Settings with AppConfiguration</seealso>
            </summary>
        </member>
        <member name="F:Westwind.Utilities.Configuration.AppConfiguration.Provider">
            <summary>
            An instance of a IConfigurationProvider that
            needs to be passed in via constructor or set
            explicitly to read and write from the configuration
            store.
            </summary>
        </member>
        <member name="F:Westwind.Utilities.Configuration.AppConfiguration.ErrorMessage">
            <summary>
            Contains an error message if a method returns false or the object fails to 
            load the configuration data.
            <seealso>Class AppConfiguration</seealso>
            </summary>
        </member>
        <member name="F:Westwind.Utilities.Configuration.AppConfiguration.InitializeCalled">
            <summary>
            Internal flag that checks to see if Initialize was called
            if not - automatically calls it without parameters
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Configuration.AppConfiguration.#ctor">
            <summary>
            Default constructor of this class SHOULD ALWAYS be implemented in
            every subclass to allow serialization instantiation and setting
            of initial property values.
            </summary>         
        </member>
        <member name="M:Westwind.Utilities.Configuration.AppConfiguration.Initialize(Westwind.Utilities.Configuration.IConfigurationProvider,System.String,System.Object)">
            <summary>
            This method initializes the configuration object with a provider
            and performs an initial read from the config store.    
            </summary>
            <param name="provider">
            Optional - preconfigured ConfigurationProvider instance.
            If not passed ConfigurationFileConfigurationProvider is used.
            </param>
            <param name="sectionName">
            Optional - sub-section name used for config files. Not used by all config stores
            </param>
            <param name="configData">
            Optional - additional config data to pass to OnInitialize if implemented
            </param>
        </member>
        <member name="M:Westwind.Utilities.Configuration.AppConfiguration.OnInitialize(Westwind.Utilities.Configuration.IConfigurationProvider,System.String,System.Object)">
            <summary>
            Override this method to handle custom initialization tasks.
            
            This method should: create a provider and call it's Read()
            method to populate the current instance of the configuration
            object.
            
            If all you need is to create a default provider configuration
            use the OnCreateDefaultProvider() method to override instead.
            Use this method if you need to perform custom actions beyond
            provider instantiation.
            </summary>
            <param name="provider">Provider value - can be null in which case ConfigurationFileProvider is used</param>
            <param name="sectionName">Sub Section name - can be null. Classname is used if null. Can be "appSettings" </param>
            <param name="configData">
            Any additional configuration data that can be used to
            configure the provider.
            </param>
        </member>
        <member name="M:Westwind.Utilities.Configuration.AppConfiguration.OnCreateDefaultProvider(System.String,System.Object)">
            <summary>
            Override this method to use a specialized configuration provider for your config class
            when no explicit provider is passed to the Initialize() method.
            </summary>
            <param name="sectionName">Optional section name that was passed to Initialize()</param>
            <param name="configData">Optional config data that was passed to Initialize()</param>
            <returns>Instance of configuration provider</returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.AppConfiguration.Write">
            <summary>
            Writes the current configuration information data to the
            provider's configuration store.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.AppConfiguration.WriteAsString">
            <summary>
            Writes the current configuration information to an
            XML string. String is in .NET XML Serialization format.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.AppConfiguration.Read``1">
            <summary>
            Reads the configuration information from the 
            provider's store and returns a new instance
            of an configuration object.
            </summary>
            <typeparam name="T">This configuration class type</typeparam>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.AppConfiguration.Read">
            <summary>
            Reads the configuration from the provider's store
            into the current object instance.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.AppConfiguration.Read(System.String)">
            <summary>
            Reads configuration data from a string and populates the current
            instance with the values.
            
            Data should be serialized in XML Searlization format created
            with <seealso cref="M:Westwind.Utilities.Configuration.AppConfiguration.WriteAsString"/>
            </summary>
            <param name="xml">Xml string in XML Serialization format</param>
            <returns>true or false</returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.AppConfiguration.Read``1(Westwind.Utilities.Configuration.IConfigurationProvider)">
            <summary>
            Reads configuration based on a provider configuration
            and returns a new instance of the configuration object
            </summary>
            <typeparam name="T"></typeparam>
            <param name="provider">A configured <seealso cref="!:IConfiguration"/> provider</param>
            <returns>instance of configuration or null on failure</returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.AppConfiguration.Read``1(System.String,Westwind.Utilities.Configuration.IConfigurationProvider)">
            <summary>
            Creates a new instance of the config object and retrieves
            configuration information from the provided string. String 
            should be in XML Serialization format or created by the 
            <seealso cref="M:Westwind.Utilities.Configuration.AppConfiguration.WriteAsString"/> method.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="xml"></param>
            <param name="provider">Required if encryption decryption is desired</param>
            <returns>config instance or null on failure</returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.AppConfiguration.Read``1(System.String)">
            <summary>
            Creates a new instance of the config object and retrieves
            configuration information from the provided string. String 
            should be in XML Serialization format or created by the 
            <seealso cref="M:Westwind.Utilities.Configuration.AppConfiguration.WriteAsString"/> method.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="xml"></param>
            <returns>config instance or null on failure</returns>
        </member>
        <member name="T:Westwind.Utilities.Configuration.MyAppConfiguration">
            <summary>
            Sample class for diagram display
            </summary>
        </member>
        <member name="T:Westwind.Utilities.Configuration.ConfigurationFileConfigurationProvider`1">
            <summary>
            Reads and Writes configuration settings in .NET config files and 
            sections. Allows reading and writing to default or external files 
            and specification of the configuration section that settings are
            applied to.
            </summary>
        </member>
        <member name="T:Westwind.Utilities.Configuration.ConfigurationProviderBase`1">
            <summary>
            Base Configuration Provider Implementation. This implementation provides
            for the basic layout of a provider and fields that implement the
            IConfigurationProvider interface.
            
            The Read and Write methods must be overridden - all other methods and 
            fields are optional
            
            </summary>
        </member>
        <member name="T:Westwind.Utilities.Configuration.IConfigurationProvider">
            <summary>
            Configuration Provider interface that provides read and write services
            to various configuration storage mechanisms.
            
            Used in conjunction with the <seealso cref="T:Westwind.Utilities.Configuration.AppConfiguration"/> class. 
            A base implementation from which to inherit is provided in the
            <seealso cref="!:Westwind.Utilities.Configuration.ConfigurationProviderBase"/>  class.
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Configuration.IConfigurationProvider.Read``1">
            <summary>
            Reads configuration information into new configuration object instance
            </summary>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.IConfigurationProvider.Read(Westwind.Utilities.Configuration.AppConfiguration)">
            <summary>
            Reads configuration information into a provided config object instance
            </summary>
            <param name="config"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.IConfigurationProvider.Read(Westwind.Utilities.Configuration.AppConfiguration,System.String)">
            <summary>
            Reads configuration information from an XML string (Xml Serialization format)
            into a provided config object instance
            </summary>
            <param name="config"></param>
            <param name="xml"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.IConfigurationProvider.Write(Westwind.Utilities.Configuration.AppConfiguration)">
            <summary>
            Writes configuration information into a provided object instance
            </summary>
            <param name="config"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.IConfigurationProvider.WriteAsString(Westwind.Utilities.Configuration.AppConfiguration)">
            <summary>
            Writes configuration for a provided config object and returns
            the serialized data as a string.
            </summary>
            <param name="config"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.IConfigurationProvider.EncryptFields(Westwind.Utilities.Configuration.AppConfiguration)">
            <summary>
            Encrypts fields in a config object as specified in the <seealso cref="!:FieldsToEncrypt"/> property.
            </summary>
            <param name="config"></param>
        </member>
        <member name="M:Westwind.Utilities.Configuration.IConfigurationProvider.DecryptFields(Westwind.Utilities.Configuration.AppConfiguration)">
            <summary>
            Decryptes the encyrpted fields in a config object a
            </summary>
            <param name="config"></param>
        </member>
        <member name="P:Westwind.Utilities.Configuration.IConfigurationProvider.ErrorMessage">
            <summary>
            Holds an error message after a read or write operation
            failed.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Configuration.IConfigurationProvider.PropertiesToEncrypt">
            <summary>
            A comma delimited list of fields that are to be encrypted
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Configuration.IConfigurationProvider.EncryptionKey">
            <summary>
            The encryption key used to encrypt fields in config objects
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Configuration.IConfigurationProvider.ConfigurationSection">
            <summary>
            Optional Section name that can be used to sub-segment in multi-config files
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Configuration.ConfigurationProviderBase`1.Read``1">
            <summary>
            Reads a configurations settings from the configuration store
            into a new existing instance.
            </summary>
            <typeparam name="T">Specific Config Settings Class</typeparam>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.ConfigurationProviderBase`1.Read(Westwind.Utilities.Configuration.AppConfiguration)">
            <summary>
            Reads configuration settings from the store into a passed
            instance of the configuration instance.
            </summary>
            <param name="config">Specific config settings class instance</param>
            <returns>true or false</returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.ConfigurationProviderBase`1.Write(Westwind.Utilities.Configuration.AppConfiguration)">
            <summary>
            Writes the configuration settings from a specific instance
            into the configuration store.
            </summary>
            <param name="config"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.ConfigurationProviderBase`1.Read``1(System.String)">
            <summary>
            Creates a new instance of the application object and retrieves
            configuration information from the provided string. String 
            should be in XML Serialization format or created by the WriteAsString 
            method.
            </summary>
            <typeparam name="T">Type of the specific configuration class</typeparam>
            <param name="xml">An xml string that contains XML Serialized serialization data</param>
            <returns>The deserialized instance or null on failure</returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.ConfigurationProviderBase`1.Read(Westwind.Utilities.Configuration.AppConfiguration,System.String)">
            <summary>
            Reads data into configuration from an XML string into a passed 
            instance of the a configuration object.
            </summary>
            <param name="config">An instance of a custom configuration object</param>
            <param name="xml">Xml of serialized configuration instance.</param>
            <returns>true or false</returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.ConfigurationProviderBase`1.WriteAsString(Westwind.Utilities.Configuration.AppConfiguration)">
            <summary>
            Writes the current configuration information to an
            XML string. String is XML Serialization format.
            </summary>
            <returns>xml string of serialized config object</returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.ConfigurationProviderBase`1.EncryptFields(Westwind.Utilities.Configuration.AppConfiguration)">
            <summary>
            Encrypts all the fields in the current object based on the EncryptFieldList
            </summary>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.ConfigurationProviderBase`1.DecryptFields(Westwind.Utilities.Configuration.AppConfiguration)">
            <summary>
            Internally decryptes all the fields in the current object based on the EncryptFieldList
            </summary>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.ConfigurationProviderBase`1.SetError(System.String)">
            <summary>
            Sets an error message when an error occurs
            </summary>
            <param name="message"></param>
        </member>
        <member name="M:Westwind.Utilities.Configuration.ConfigurationProviderBase`1.SetError(System.Exception)">
            <summary>
            Writes an exception and innerexception message
            into the error message text
            </summary>
            <param name="ex"></param>
        </member>
        <member name="M:Westwind.Utilities.Configuration.ConfigurationProviderBase`1.CreateConfigurationInstance">
            <summary>
            Helper method to create a new instance of the Configuration object.        
            </summary>
            <returns></returns>
        </member>
        <member name="P:Westwind.Utilities.Configuration.ConfigurationProviderBase`1.ErrorMessage">
            <summary>
            Displays error information when results fail.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Configuration.ConfigurationProviderBase`1.PropertiesToEncrypt">
            <summary>
            A comma delimiter list of property names that are 
            to be encrypted when persisted to the store
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Configuration.ConfigurationProviderBase`1.EncryptionKey">
            <summary>
            The encryption key to encrypt the fields 
            set with FieldsToEncrypt
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Configuration.ConfigurationProviderBase`1.ConfigurationSection">
            <summary>
            Optional Section name that can differentiate groups of config
            values in multi-section files like Config files.
            </summary>
        </member>
        <member name="F:Westwind.Utilities.Configuration.ConfigurationFileConfigurationProvider`1.syncWriteLock">
            <summary>
            internal property used to ensure there are no multiple write
            operations at the same time
            </summary>
        </member>
        <member name="F:Westwind.Utilities.Configuration.ConfigurationFileConfigurationProvider`1.XmlNamespaces">
            <summary>
            Internally used reference to the Namespace Manager object
            used to make sure we're searching the proper Namespace
            for the appSettings section when reading and writing manually
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Configuration.ConfigurationFileConfigurationProvider`1.Read``1">
            <summary>
            Reads configuration settings into a new instance of the configuration object.
            </summary>
            <typeparam name="TAppConfig"></typeparam>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.ConfigurationFileConfigurationProvider`1.Read(Westwind.Utilities.Configuration.AppConfiguration)">
            <summary>
            Reads configuration settings from the current configuration manager. 
            Uses the internal APIs to write these values.
            </summary>
            <typeparam name="TAppConfiguration"></typeparam>
            <param name="config"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.ConfigurationFileConfigurationProvider`1.Read(Westwind.Utilities.Configuration.AppConfiguration,System.String)">
            <summary>
            Reads Configuration settings from an external file or explicitly from a file.
            Uses XML DOM to read values instead of using the native APIs.
            </summary>
            <typeparam name="TAppConfiguration"></typeparam>
            <param name="config">Configuration instance</param>
            <param name="filename">Filename to read from</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.ConfigurationFileConfigurationProvider`1.GetNamedValueFromXml(System.Xml.XmlDocument,System.String,System.String)">
            <summary>
            Returns a single value from the XML in a configuration file.
            </summary>
            <param name="Dom"></param>
            <param name="Key"></param>
            <param name="ConfigSection"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.ConfigurationFileConfigurationProvider`1.GetXmlNamespaceInfo(System.Xml.XmlDocument)">
            <summary>
            Used to load up the default namespace reference and prefix
            information. This is required so that SelectSingleNode can
            find info in 2.0 or later config files that include a namespace
            on the root element definition.
            </summary>
            <param name="Dom"></param>
        </member>
        <member name="M:Westwind.Utilities.Configuration.ConfigurationFileConfigurationProvider`1.CreateConfigSection(System.Xml.XmlDocument,System.String)">
            <summary>
            Creates a Configuration section and also creates a ConfigSections section for new 
            non appSettings sections.
            </summary>
            <param name="dom"></param>
            <param name="configSection"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.ConfigurationFileConfigurationProvider`1.TypedValueToString(System.Object,System.Globalization.CultureInfo,System.String)">
            <summary>
            Converts a type to string if possible. This method supports an optional culture generically on any value.
            It calls the ToString() method on common types and uses a type converter on all other objects
            if available
            </summary>
            <param name="rawValue">The Value or Object to convert to a string</param>
            <param name="culture">Culture for numeric and DateTime values</param>
            <param name="unsupportedReturn">Return string for unsupported types</param>
            <returns>string</returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.ConfigurationFileConfigurationProvider`1.StringToTypedValue(System.String,System.Type,System.Globalization.CultureInfo)">
            <summary>
            Turns a string into a typed value generically.
            Explicitly assigns common types and falls back
            on using type converters for unhandled types.         
            
            Common uses: 
            * UI -&gt; to data conversions
            * Parsers
            <seealso>Class ReflectionUtils</seealso>
            </summary>
            <param name="sourceString">
            The string to convert from
            </param>
            <param name="targetType">
            The type to convert to
            </param>
            <param name="culture">
            Culture used for numeric and datetime values.
            </param>
            <returns>object. Throws exception if it cannot be converted.</returns>
        </member>
        <member name="P:Westwind.Utilities.Configuration.ConfigurationFileConfigurationProvider`1.ConfigurationFile">
            <summary>
            Optional - the Configuration file where configuration settings are
            stored in. If not specified uses the default Configuration Manager
            and its default store.
            </summary>
        </member>
        <member name="T:Westwind.Utilities.Configuration.JsonFileConfigurationProvider`1">
            <summary>
            Reads and Writes configuration settings in .NET config files and 
            sections. Allows reading and writing to default or external files 
            and specification of the configuration section that settings are
            applied to.
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Configuration.JsonFileConfigurationProvider`1.Read``1">
            <summary>
            Return 
            </summary>
            <typeparam name="TAppConfig"></typeparam>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.JsonFileConfigurationProvider`1.Write(Westwind.Utilities.Configuration.AppConfiguration)">
            <summary>
            Write configuration to XmlConfigurationFile location
            </summary>
            <param name="config"></param>
            <returns></returns>
        </member>
        <member name="P:Westwind.Utilities.Configuration.JsonFileConfigurationProvider`1.JsonConfigurationFile">
            <summary>
            Optional - the Configuration file where configuration settings are
            stored in. If not specified uses the default Configuration Manager
            and its default store.
            </summary>
        </member>
        <member name="T:Westwind.Utilities.Configuration.SqlServerConfigurationProvider`1">
            <summary>
            Reads and Writes configuration settings in .NET config files and 
            sections. Allows reading and writing to default or external files 
            and specification of the configuration section that settings are
            applied to.
            
            This implementation doesn't support Read and Write operation that
            don't return a string value. Only Read(string) and WriteAsString()
            should be used to read and write string values.
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Configuration.SqlServerConfigurationProvider`1.Read``1">
            <summary>
            Reads configuration data into a new instance from SQL Server
            that is returned.
            </summary>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.SqlServerConfigurationProvider`1.Read(Westwind.Utilities.Configuration.AppConfiguration)">
            <summary>
            Reads configuration data from Sql Server into an existing 
            instance updating its fields.
            </summary> 
            <param name="config"></param>
            <returns></returns>
        </member>
        <member name="P:Westwind.Utilities.Configuration.SqlServerConfigurationProvider`1.ConnectionString">
            <summary>
            The raw SQL connection string or connectionstrings name
            for the database connection.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Configuration.SqlServerConfigurationProvider`1.ProviderName">
            <summary>
            The data provider used to access the database
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Configuration.SqlServerConfigurationProvider`1.Tablename">
            <summary>
            Table in the database that holds configuration data
            Table must have ID(int) and ConfigData (nText) fields
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Configuration.SqlServerConfigurationProvider`1.Key">
            <summary>
            The key of the record into which the config
            data is written. Defaults to 1.
            
            If you need to read or write multiple different
            configuration records you have to change it on
            this provider before calling the Read()/Write()
            methods.
            </summary>
        </member>
        <member name="T:Westwind.Utilities.Configuration.StringConfigurationProvider`1">
            <summary>
            Reads and Writes configuration settings from strings - which you manage
            yourself. Using strings for the configuration provider allows for easy
            storage into any non-supported configuration stores that you control
            through your code as long as it supports strings.   
            
            The string provider is a real minimal implementation that only implements
            WriteAsString(config) and Read(string). It inherits all of its functionality
            from the base provider.
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Configuration.StringConfigurationProvider`1.Read``1">
            <summary>
            Reads from the InitialStringData string data
            </summary>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.StringConfigurationProvider`1.Read(Westwind.Utilities.Configuration.AppConfiguration)">
            <summary>
            Reads configuration information into config from InitialStringData
            </summary>
            <param name="config"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.StringConfigurationProvider`1.Write(Westwind.Utilities.Configuration.AppConfiguration)">
            <summary>
            Not supported for StringConfiguration
            </summary>
            <param name="config"></param>
            <returns></returns>
        </member>
        <member name="T:Westwind.Utilities.Configuration.XmlFileConfigurationProvider`1">
            <summary>
            Reads and Writes configuration settings in .NET config files and 
            sections. Allows reading and writing to default or external files 
            and specification of the configuration section that settings are
            applied to.
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Configuration.XmlFileConfigurationProvider`1.Read``1">
            <summary>
            Return 
            </summary>
            <typeparam name="TAppConfig"></typeparam>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Configuration.XmlFileConfigurationProvider`1.Write(Westwind.Utilities.Configuration.AppConfiguration)">
            <summary>
            Write configuration to XmlConfigurationFile location
            </summary>
            <param name="config"></param>
            <returns></returns>
        </member>
        <member name="P:Westwind.Utilities.Configuration.XmlFileConfigurationProvider`1.XmlConfigurationFile">
            <summary>
            Optional - the Configuration file where configuration settings are
            stored in. If not specified uses the default Configuration Manager
            and its default store.
            </summary>
        </member>
        <member name="T:Westwind.Utilities.Data.ConnectionStringInfo">
            <summary>
            Used to parse a connection string or connection string name 
            into a the base connection  string and dbProvider.
            
            If a connection string is passed that's just used.
            If a ConnectionString entry name is passed the connection 
            string is extracted and the provider parsed.
            </summary>
        </member>
        <member name="F:Westwind.Utilities.Data.ConnectionStringInfo.DefaultProviderName">
            <summary>
            The default connection string provider
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Data.ConnectionStringInfo.GetConnectionStringInfo(System.String,System.String)">
            <summary>
            Figures out the Provider and ConnectionString from either a connection string
            name in a config file or full  ConnectionString and provider.         
            </summary>
            <param name="connectionString">Config file connection name or full connection string</param>
            <param name="providerName">optional provider name. If not passed with a connection string is considered Sql Server</param>
        </member>
        <member name="P:Westwind.Utilities.Data.ConnectionStringInfo.ConnectionString">
            <summary>
            The connection string parsed
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Data.ConnectionStringInfo.Provider">
            <summary>
            The DbProviderFactory parsed from the connection string
            or default provider
            </summary>
        </member>
        <member name="T:Westwind.Utilities.Data.DataAccessBase">
            <summary>
            Basic low level Data Access Layer
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.#ctor">
            <summary>
            Default constructor that should be called back to 
            by subclasses. Parameterless assumes default provider
            and no connection string which must be explicitly set.
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.#ctor(System.String)">
            <summary>
            Most common constructor that expects a connection string or 
            connection string name from a .config file. If a connection
            string is provided the default provider is used.
            </summary>
            <param name="connectionString"></param>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.#ctor(System.String,System.String)">
            <summary>
            Constructor that expects a full connection string and provider
            for creating a SQL instance. To be called by the same implementation
            on a subclass.
            </summary>
            <param name="connectionString"></param>
            <param name="providerName"></param>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.GetConnectionInfo(System.String,System.String)">
            <summary>
            Figures out the dbProvider and Connection string from a 
            connectionString name in a config file or explicit 
            ConnectionString and provider.         
            </summary>
            <param name="connectionString">Config file connection name or full connection string</param>
            <param name="providerName">optional provider name. If not passed with a connection string is considered Sql Server</param>
        </member>
        <member name="F:Westwind.Utilities.Data.DataAccessBase.dbProvider">
            <summary>
            The internally used dbProvider
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.OpenConnection">
            <summary>
            Opens a Sql Connection based on the connection string.
            Called internally but externally accessible. Sets the internal
            _Connection property.
            </summary>
            <returns></returns>
            <summary>
            Opens a Sql Connection based on the connection string.
            Called internally but externally accessible. Sets the internal
            _Connection property.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.CreateCommand(System.String,System.Data.CommandType,System.Object[])">
            <summary>
            Creates a Command object and opens a connection
            </summary>
            <param name="ConnectionString">Connection string or ConnnectionString configuration name</param>
            <param name="sql">Sql string to create</param>
            <param name="commandType">Type of command to create</param>
            <param name="parameters">Parameter values that map to @0,@1 or DbParameter objects created with CreateParameter()</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.CreateCommand(System.String,System.Object[])">
            <summary>
            Creates a Command object and opens a connection
            </summary>
            <param name="ConnectionString">Connection String or Connection String Entry from config file</param>
            <param name="sql">Sql string to execute</param>
            <returns>Parameters. Either values mapping to @0,@1,@2 etc. or DbParameter objects created with CreateParameter()</returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.AddParameters(System.Data.Common.DbCommand,System.Object[])">
            <summary>
            Adds parameters to a DbCommand instance. Parses value and DbParameter parameters
            properly into the command's Parameters collection.
            </summary>
            <param name="command"></param>
            <param name="parameters"></param>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.CreateParameter(System.String,System.Object)">
            <summary>
            Used to create named parameters to pass to commands or the various
            methods of this class.
            </summary>
            <param name="parameterName"></param>
            <param name="value"></param>
            <param name="dbType"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.CreateParameter(System.String,System.Object,System.Data.ParameterDirection)">
            <summary>
            Used to create named parameters to pass to commands or the various
            methods of this class.
            </summary>
            <param name="parameterName"></param>
            <param name="value"></param>
            <param name="dbType"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.CreateParameter(System.String,System.Object,System.Int32)">
            <summary>
            Used to create named parameters to pass to commands or the various
            methods of this class.
            </summary>
            <param name="parameterName"></param>
            <param name="value"></param>
            <param name="size"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.CreateParameter(System.String,System.Object,System.Data.DbType)">
            <summary>
            Used to create named parameters to pass to commands or the various
            methods of this class.
            </summary>
            <param name="parameterName"></param>
            <param name="value"></param>
            <param name="dbType"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.CreateParameter(System.String,System.Object,System.Data.DbType,System.Int32)">
            <summary>
            Used to create named parameters to pass to commands or the various
            methods of this class.
            </summary>
            <param name="parameterName"></param>
            <param name="value"></param>
            <param name="type"></param>
            <param name="size"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.ExecuteNonQuery(System.Data.Common.DbCommand)">
            <summary>
            Executes a non-query command and returns the affected records
            </summary>
            <param name="Command">Command should be created with GetSqlCommand to have open connection</param>
            <param name="Parameters"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.ExecuteNonQuery(System.String,System.Object[])">
            <summary>
            Executes a command that doesn't return any data. The result
            returns the number of records affected or -1 on error.
            </summary>
            <param name="sql">SQL statement as a string</param>
            <param name="parameters">Any number of SQL named parameters</param>
            <returns></returns>
            <summary>
            Executes a command that doesn't return a data result. You can return
            output parameters and you do receive an AffectedRecords counter.
            </summary>        
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.ExecuteReader(System.Data.Common.DbCommand,System.Object[])">
            <summary>
            Executes a SQL Command object and returns a SqlDataReader object
            </summary>
            <param name="command">Command should be created with GetSqlCommand and open connection</param>
            <param name="parameters"></param>
            <returns></returns>
            <returns>A SqlDataReader. Make sure to call Close() to close the underlying connection.</returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.ExecuteReader(System.String,System.Object[])">
            <summary>
            Executes a SQL command against the server and returns a DbDataReader
            </summary>
            <param name="sql">Sql String</param>
            <param name="parameters">Any SQL parameters </param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.Query``1(System.String,System.Object[])">
            <summary>
            Executes a SQL statement and creates an object list using
            Reflection.
            
            Not very efficient but provides an easy way to retrieve
            </summary>
            <typeparam name="T">Entity type to create from DataReader data</typeparam>
            <param name="sql">Sql string to execute</param>        
            <param name="parameters">DbParameters to fill the SQL statement</param>
            <returns>List of objects or null. Null is returned if there are no matches</returns>       
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.Query``1(System.Data.Common.DbCommand,System.Object[])">
            <summary>
            Executes a SQL command and creates an object list using
            Reflection.
            
            Not very efficient but provides an easy way to retrieve
            </summary>
            <typeparam name="T">Entity type to create from DataReader data</typeparam>
            <param name="command">Command object containing configured SQL command to execute</param>        
            <param name="parameters">DbParameters to fill the SQL statement</param>
            <returns>List of objects or null. Null is returned if there are no matches</returns>   
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.QueryWithExclusions``1(System.String,System.String,System.Object[])">
            <summary>
            Executes a SQL statement and creates an object list using
            Reflection.
            
            Not very efficient but provides an easy way to retrieve
            </summary>
            <typeparam name="T">Entity type to create from DataReader data</typeparam>
            <param name="sql">Sql string to execute</param>        
            <param name="propertiesToExclude">Comma delimited list of properties that are not to be updated</param>
            <param name="parameters">DbParameters to fill the SQL statement</param>
            <returns>List of objects</returns>        
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.QueryWithExclusions``1(System.Data.Common.DbCommand,System.String,System.Object[])">
            <summary>
            Executes a SQL statement and creates an object list using
            Reflection.
            
            Not very efficient but provides an easy way to retrieve
            </summary>
            <typeparam name="T">Entity type to create from DataReader data</typeparam>
            <param name="sql">Sql string to execute</param>        
            <param name="parameters">DbParameters to fill the SQL statement</param>
            <returns>List of objects</returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.ExecuteStoredProcedureReader(System.String,System.Object[])">
            <summary>
            Calls a stored procedure that returns a cursor results
            The result is returned as a DataReader
            </summary>
            <param name="storedProc">Name of the Stored Procedure to call</param>
            <param name="parameters">
            Parameters to pass. Note that if you need to pass out/inout/return parameters
            you need to pass DbParameter instances or use the CreateParameter() method
            </param>
            <returns>A DataReader or null on failure</returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.ExecuteStoredProcedureNonQuery(System.String,System.Object[])">
            <summary>
            Executes a stored procedure that doesn't return a result set.
            </summary>
            <param name="storedProc">The Stored Procedure to call</param>
            <param name="parameters">
            Parameters to pass. Note that if you need to pass out/inout/return parameters
            you need to pass DbParameter instances or use the CreateParameter() method
            </param>
            <returns>> -1 on success, -1 on failure</returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.ExecuteReader``1(System.String,System.Object[])">
            <summary>
            Return a list of entities that are matched to an object
            </summary>
            <typeparam name="T">Type of object to create from data record</typeparam>
            <param name="sql">Sql string</param>
            <param name="parameters">Either object values (@0,@1 syntax) or (@name,@name2 syntax using CreateParameter</param>
            <returns>An enumerated list of objects or null</returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.ExecuteReader``1(System.Data.Common.DbCommand,System.Object[])">
            <summary>
            Allows querying and return a list of entities.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="command"></param>
            <param name="parameters"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.ExecuteDynamicDataReader(System.String,System.Object[])">
            <summary>
            Executes a Sql statement and returns a dynamic DataReader instance 
            that exposes each field as a property
            </summary>
            <param name="sql">Sql String to executeTable</param>
            <param name="parameters">Array of DbParameters to pass</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.ExecuteTable(System.String,System.Data.Common.DbCommand,System.Object[])">
            <summary>
            Returns a DataTable from a Sql Command string passed in.
            </summary>
            <param name="tablename"></param>
            <param name="command"></param>
            <param name="parameters"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.ExecuteTable(System.String,System.String,System.Object[])">
            <summary>
            Returns a DataTable from a Sql Command string passed in.
            </summary>
            <param name="Tablename"></param>
            <param name="ConnectionString"></param>
            <param name="Sql"></param>
            <param name="Parameters"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.ExecuteDataSet(System.String,System.Data.Common.DbCommand,System.Object[])">
            <summary>
            Returns a DataSet/DataTable from a Sql Command string passed in. 
            </summary>
            <param name="Tablename">The name for the table generated or the base names</param>
            <param name="Command"></param>
            <param name="Parameters"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.ExecuteDataSet(System.String,System.String,System.Object[])">
            <summary>
            Executes a SQL command against the server and returns a DataSet of the result
            </summary>
            <param name="command"></param>
            <param name="parameters"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.ExecuteDataSet(System.Data.DataSet,System.String,System.Data.Common.DbCommand,System.Object[])">
            <summary>
            Returns a DataSet from a Sql Command string passed in.
            </summary>
            <param name="tableName"></param>
            <param name="command"></param>
            <param name="parameters"></param>
            <returns></returns>        
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.ExecuteDataSet(System.Data.DataSet,System.String,System.String,System.Object[])">
            <summary>
            Returns a DataTable from a Sql Command string passed in.
            </summary>
            <param name="tablename"></param>
            <param name="Command"></param>
            <param name="parameters"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.ExecuteScalar(System.Data.Common.DbCommand,System.Object[])">
            <summary>
            Executes a command and returns a scalar value from it
            </summary>
            <param name="SqlCommand">A SQL Command object</param>
            <returns>value or null on failure</returns>        
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.ExecuteScalar(System.String,System.Object[])">
            <summary>
            Executes a Sql command and returns a single value from it.
            </summary>
            <param name="Sql">Sql string to execute</param>
            <param name="Parameters">Any named SQL parameters</param>
            <returns>Result value or null. Check ErrorMessage on Null if unexpected</returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.CloseConnection(System.Data.Common.DbCommand)">
            <summary>
            Closes a connection
            </summary>
            <param name="Command"></param>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.CloseConnection">
            <summary>
            Closes an active connection. If a transaction is pending the 
            connection is held open.
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.CreatePagingCommand(System.String,System.Int32,System.Int32,System.String,System.Object[])">
            <summary>
            Sql 2005 specific semi-generic paging routine
            </summary>
            <param name="sql"></param>
            <param name="pageSize"></param>
            <param name="page"></param>
            <param name="sortOrderFields"></param>
            <param name="Parameters"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.RunSqlScript(System.String,System.Boolean,System.Boolean)">
            <summary>
            Executes a long SQL script that contains batches (GO commands). This code
            breaks the script into individual commands and captures all execution errors.
            
            If ContinueOnError is false, operations are run inside of a transaction and
            changes are rolled back. If true commands are accepted even if failures occur
            and are not rolled back.
            </summary>
            <param name="script"></param>
            <param name="continueOnError"></param>
            <param name="scriptIsFile"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.GetEntity(System.Object,System.Data.Common.DbCommand,System.String)">
            <summary>
            Generic routine to retrieve an object from a database record
            The object properties must match the database fields.
            </summary>
            <param name="entity">The object to update</param>
            <param name="command">Database command object</param>
            <param name="fieldsToSkip"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.GetEntity(System.Object,System.String,System.Object[])">
            <summary>
            Retrieves a single record and returns it as an entity
            </summary>
            <param name="entity"></param>
            <param name="sql"></param>
            <param name="fieldsToSkip"></param>
            <param name="parameters"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.GetEntity(System.Object,System.String,System.String,System.Object,System.String)">
            <summary>
            Generic routine to return an Entity that matches the field names of a 
            table exactly.
            </summary>
            <param name="Entity"></param>
            <param name="Table"></param>
            <param name="KeyField"></param>
            <param name="KeyValue"></param>
            <param name="FieldsToSkip"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.Find``1(System.Object,System.String,System.String)">
            <summary>
            Returns a single
            </summary>
            <typeparam name="T"></typeparam>
            <param name="keyValue"></param>
            <param name="tableName"></param>
            <param name="keyField"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.Find``1(System.String,System.Object[])">
            <summary>
            Returns a single object retrieved from data
            </summary>
            <typeparam name="T"></typeparam>
            <param name="sql"></param>
            <param name="parameters"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.Find``1(System.String,System.String,System.Object[])">
            <summary>
            Returns a single object retrieved from data
            </summary>
            <typeparam name="T"></typeparam>
            <param name="sql"></param>
            <param name="parameters"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.UpdateEntity(System.Object,System.String,System.String,System.String)">
            <summary>
            Updates an entity object that has matching fields in the database for each
            public property. Kind of a poor man's quick entity update mechanism.
            </summary>
            <param name="entity"></param>
            <param name="table"></param>
            <param name="keyField"></param>
            <param name="fieldsToSkip"></param>
            <returns></returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Westwind.Utilities.Data.DataAccessBase.UpdateEntity(System.Object,System.String,System.String,System.String,System.String)" -->
        <!-- Badly formed XML comment ignored for member "M:Westwind.Utilities.Data.DataAccessBase.InsertEntity(System.Object,System.String,System.String)" -->
        <member name="M:Westwind.Utilities.Data.DataAccessBase.SaveEntity(System.Object,System.String,System.String,System.String)">
            <summary>
            Saves an enity into the database using insert or update as required.
            Requires a keyfield that exists on both the entity and the database.
            </summary>
            <param name="entity"></param>
            <param name="table"></param>
            <param name="keyField"></param>
            <param name="fieldsToSkip"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.BeginTransaction">
            <summary>
            Starts a new transaction on this connection/instance
            </summary>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.CommitTransaction">
            <summary>
            Commits all changes to the database and ends the transaction
            </summary>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.RollbackTransaction">
            <summary>
            Rolls back a transaction
            </summary>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.SetError(System.String,System.Int32)">
            <summary>
            Sets the error message for the failure operations
            </summary>
            <param name="Message"></param>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.SetError(System.String)">
            <summary>
            Sets the error message and error number.
            </summary>
            <param name="message"></param>
        </member>
        <member name="M:Westwind.Utilities.Data.DataAccessBase.SetError">
            <summary>
            Sets the error message for failure operations.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Data.DataAccessBase.ErrorMessage">
            <summary>
            An error message if a method fails
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Data.DataAccessBase.ErrorNumber">
            <summary>
            Optional error number returned by failed SQL commands
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Data.DataAccessBase.ParameterPrefix">
            <summary>
            The prefix used by the provider
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Data.DataAccessBase.ConnectionString">
            <summary>
            ConnectionString for the data access component
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Data.DataAccessBase.Transaction">
            <summary>
            A SQL Transaction object that may be active. You can 
            also set this object explcitly
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Data.DataAccessBase.Connection">
            <summary>
            The SQL Connection object used for connections
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Data.DataAccessBase.Timeout">
            <summary>
            The Sql Command execution Timeout in seconds.
            Set to -1 for whatever the system default is.
            Set to 0 to never timeout (not recommended).
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Data.DataAccessBase.ExecuteWithSchema">
            <summary>
            Determines whether extended schema information is returned for 
            queries from the server. Useful if schema needs to be returned
            as part of DataSet XML creation 
            </summary>
        </member>
        <member name="T:Westwind.Utilities.Data.DataTableDynamicExtensions">
            <summary>
            Extends the DataTable to provide access to DynamicDataRow 
            data.
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Data.DataTableDynamicExtensions.DynamicRow(System.Data.DataTable,System.Int32)">
            <summary>
            Returns a dynamic DataRow instance that can be accessed
            with the field name as a property
            </summary>
            <param name="index"></param>
            <returns></returns>taTab
        </member>
        <member name="M:Westwind.Utilities.Data.DataTableDynamicExtensions.DynamicRows(System.Data.DataTable)">
            <summary>
            Returns a dynamic list of rows so you can reference them with
            row.fieldName
            </summary>
            <param name="dt"></param>
            <returns></returns>
        </member>
        <member name="T:Westwind.Utilities.Data.DynamicDataRows">
            <summary>
            Helper class that extends a DataRow collection to 
            be exposed as individual <see cref="T:Westwind.Utilities.Data.DynamicDataRow"/>  objects
            </summary>
        </member>
        <member name="T:Westwind.Utilities.Data.DynamicDataReader">
            <summary>
            This class provides an easy way to use object.property
            syntax with a DataReader by wrapping a DataReader into
            a dynamic object.
            
            The class also automatically fixes up DbNull values
            (null into .NET and DbNUll)
            </summary>
        </member>
        <member name="F:Westwind.Utilities.Data.DynamicDataReader.DataReader">
            <summary>
            Cached Instance of DataReader passed in
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Data.DynamicDataReader.#ctor(System.Data.IDataReader)">
            <summary>
            Pass in a loaded DataReader
            </summary>
            <param name="dataReader">DataReader instance to work off</param>
        </member>
        <member name="M:Westwind.Utilities.Data.DynamicDataReader.TryGetMember(System.Dynamic.GetMemberBinder,System.Object@)">
            <summary>
            Returns a value from the current DataReader record
            If the field doesn't exist null is returned.
            DbNull values are turned into .NET nulls.
            </summary>
            <param name="binder"></param>
            <param name="result"></param>
            <returns></returns>
        </member>
        <member name="T:Westwind.Utilities.Data.DynamicDataRow">
            <summary>
            This class provides an easy way to turn a DataRow 
            into a Dynamic object that supports direct property
            access to the DataRow fields.
            
            The class also automatically fixes up DbNull values
            (null into .NET and DbNUll to DataRow)
            </summary>
        </member>
        <member name="F:Westwind.Utilities.Data.DynamicDataRow.DataRow">
            <summary>
            Instance of object passed in
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Data.DynamicDataRow.#ctor(System.Data.DataRow)">
            <summary>
            Pass in a DataRow to work off
            </summary>
            <param name="instance"></param>
        </member>
        <member name="M:Westwind.Utilities.Data.DynamicDataRow.TryGetMember(System.Dynamic.GetMemberBinder,System.Object@)">
            <summary>
            Returns a value from a DataRow items array.
            If the field doesn't exist null is returned.
            DbNull values are turned into .NET nulls.
            
            </summary>
            <param name="binder"></param>
            <param name="result"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Data.DynamicDataRow.TrySetMember(System.Dynamic.SetMemberBinder,System.Object)">
            <summary>
            Property setter implementation tries to retrieve value from instance 
            first then into this object
            </summary>
            <param name="binder"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:Westwind.Utilities.Data.SqlDataAccess">
            <summary>
            Basic low level Data Access Layer
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Data.SqlDataAccess.CreatePagingCommand(System.String,System.Int32,System.Int32,System.String,System.Object[])">
            <summary>
            Sql 2005 and later specific semi-generic paging routine
            </summary>
            <param name="sql"></param>
            <param name="pageSize"></param>
            <param name="page"></param>
            <param name="sortOrderFields"></param>
            <param name="Parameters"></param>
            <returns></returns>
        </member>
        <member name="T:Westwind.Utilities.ValidationErrorCollection">
            <summary>
            A collection of ValidationError objects that is used to collect
            errors that occur duing calls to the Validate method.
            </summary>
        </member>
        <member name="M:Westwind.Utilities.ValidationErrorCollection.Add(Westwind.Utilities.ValidationError)">
            <summary>
            Adds a new error to the collection
            <seealso>Class ValidationError</seealso>
            </summary>
            <param name="Error">
            Validation Error object
            </param>
            <returns>Void</returns>
        </member>
        <member name="M:Westwind.Utilities.ValidationErrorCollection.Add(System.String,System.String,System.String)">
            <summary>
            Adds a new error to the collection
            <seealso>Class ValidationErrorCollection</seealso>
            </summary>
            <param name="Message">
            Message of the error
            </param>
            <param name="FieldName">
            optional field name that it applies to (used for Databinding errors on 
            controls)
            </param>
            <param name="ID">
            An optional ID you assign the error
            </param>
            <returns>Void</returns>
        </member>
        <member name="M:Westwind.Utilities.ValidationErrorCollection.AddFormat(System.String,System.String,System.String,System.Object[])">
            <summary>
            Like Add but allows specifying of a format  
            </summary>
            <param name="Message"></param>
            <param name="FieldName"></param>
            <param name="ID"></param>
            <param name="arguments"></param>
        </member>
        <member name="M:Westwind.Utilities.ValidationErrorCollection.Remove(System.Int32)">
            <summary>
            Removes the item specified in the index from the Error collection
            </summary>
            <param name="Index"></param>
        </member>
        <member name="M:Westwind.Utilities.ValidationErrorCollection.Assert(System.Boolean,System.String,System.String,System.String)">
            <summary>
            Adds a validation error if the condition is true. Otherwise no item is 
            added.
            <seealso>Class ValidationErrorCollection</seealso>
            </summary>
            <param name="Condition">
            If true this error is added. Otherwise not.
            </param>
            <param name="Message">
            The message for this error
            </param>
            <param name="FieldName">
            Name of the UI field (optional) that this error relates to. Used optionally
             by the databinding classes.
            </param>
            <param name="ID">
            An optional Error ID.
            </param>
            <returns>value of condition</returns>
        </member>
        <member name="M:Westwind.Utilities.ValidationErrorCollection.Assert(System.Boolean,System.String)">
            <summary>
            Adds a validation error if the condition is true. Otherwise no item is 
            added.
            <seealso>Class ValidationErrorCollection</seealso>
            </summary>
            <param name="Condition">
            If true the Validation Error is added.
            </param>
            <param name="Message">
            The Error Message for this error.
            </param>
            <returns>value of condition</returns>
        </member>
        <member name="M:Westwind.Utilities.ValidationErrorCollection.Assert(System.Boolean,System.String,System.String)">
            <summary>
            Adds a validation error if the condition is true. Otherwise no item is 
            added.
            <seealso>Class ValidationErrorCollection</seealso>
            </summary>
            <param name="Condition">
            If true the Validation Error is added.
            </param>
            <param name="Message">
            The Error Message for this error.
            </param>
            <returns>string</returns>
        </member>
        <member name="M:Westwind.Utilities.ValidationErrorCollection.Assert(System.Boolean,Westwind.Utilities.ValidationError)">
            <summary>
            Asserts a business rule - if condition is true it's added otherwise not.
            <seealso>Class ValidationErrorCollection</seealso>
            </summary>
            <param name="Condition">
            If this condition evaluates to true the Validation Error is added
            </param>
            <param name="Error">
            Validation Error Object
            </param>
            <returns>value of condition</returns>
        </member>
        <member name="M:Westwind.Utilities.ValidationErrorCollection.ToString">
            <summary>
            Returns a string representation of the errors in this collection.
            The string is separated by CR LF after each line.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.ValidationErrorCollection.ToHtml">
            <summary>
            Returns an HTML representation of the errors in this collection.
            The string is returned as an HTML unordered list.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Westwind.Utilities.ValidationErrorCollection.Item(System.Int32)">
            <summary>
            Indexer property for the collection that returns and sets an item
            </summary>
        </member>
        <member name="T:Westwind.Utilities.ValidationError">
            <summary>
            Object that holds a single Validation Error for the business object
            </summary>
        </member>
        <member name="P:Westwind.Utilities.ValidationError.Message">
            <summary>
            The error message for this validation error.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.ValidationError.ControlID">
            <summary>
            The name of the field that this error relates to.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.ValidationError.ID">
            <summary>
            An ID set for the Error. This ID can be used as a correlation between bus object and UI code.
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Extensions.DateTimeExtensions.Between(System.DateTime,System.DateTime,System.DateTime)">
            <summary>
            Returns true if the date is between or equal to one of the two values.
            </summary>
            <param name="date">DateTime Base, from where the calculation will be preformed.</param>
            <param name="startvalue">Start date to check for</param>
            <param name="endvalue">End date to check for</param>
            <returns>boolean value indicating if the date is between or equal to one of the two values</returns>
        </member>
        <member name="M:Westwind.Utilities.Extensions.DateTimeExtensions.EndOfDay(System.DateTime)">
            <summary>
            Returns 12:59:59pm time for the date passed.
            Useful for date only search ranges end value
            </summary>
            <param name="date">Date to convert</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Extensions.DateTimeExtensions.BeginningOfDay(System.DateTime)">
            <summary>
            Returns 12:00am time for the date passed.
            Useful for date only search ranges start value
            </summary>
            <param name="date">Date to convert</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Extensions.DateTimeExtensions.EndOfMonth(System.DateTime)">
            <summary>
            Returns the very end of the given month (the last millisecond of the last hour for the given date)
            </summary>
            <param name="obj">DateTime Base, from where the calculation will be preformed.</param>
            <returns>Returns the very end of the given month (the last millisecond of the last hour for the given date)</returns>
        </member>
        <member name="M:Westwind.Utilities.Extensions.DateTimeExtensions.BeginningOfMonth(System.DateTime)">
            <summary>
            Returns the Start of the given month (the fist millisecond of the given date)
            </summary>
            <param name="obj">DateTime Base, from where the calculation will be preformed.</param>
            <returns>Returns the Start of the given month (the fist millisecond of the given date)</returns>
        </member>
        <member name="T:Westwind.Utilities.Extensions.DictionaryExtensions">
            <summary>
            Extends dictionary classes with XML 
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Extensions.DictionaryExtensions.ToXml(System.Collections.IDictionary,System.String)">
            <summary>
            Serializes the dictionary to an XML string
            </summary>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Extensions.DictionaryExtensions.FromXml(System.Collections.IDictionary,System.String)">
            <summary>
            Loads the dictionary from an Xml string
            </summary>
            <param name="xml"></param>
        </member>
        <member name="T:System.IO.MemoryStreamExtensions">
            <summary>
            MemoryStream Extension Methods that provide conversions to and from strings
            </summary>
        </member>
        <member name="M:System.IO.MemoryStreamExtensions.AsString(System.IO.MemoryStream,System.Text.Encoding)">
            <summary>
            Returns the content of the stream as a string
            </summary>
            <param name="ms"></param>
            <param name="encoding"></param>
            <returns></returns>
        </member>
        <member name="M:System.IO.MemoryStreamExtensions.FromString(System.IO.MemoryStream,System.String,System.Text.Encoding)">
            <summary>
            Writes the specified string into the memory stream
            </summary>
            <param name="ms"></param>
            <param name="inputString"></param>
            <param name="encoding"></param>
        </member>
        <member name="M:Westwind.Utilities.Logging.ILogAdapter.WriteEntry(Westwind.Utilities.Logging.WebLogEntry)">
            <summary>
            Writes an entry into the log
            </summary>
            <param name="webEntry"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.ILogAdapter.GetEntry(System.Int32)">
            <summary>
            Retireves an individual entry from the log
            </summary>
            <param name="id"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.ILogAdapter.GetEntries(Westwind.Utilities.Logging.ErrorLevels,System.Int32,System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.String)">
            <summary>
            Retrieves a filtered list of entries
            </summary>
            <param name="errorLevel"></param>
            <param name="count"></param>
            <param name="dateFrom"></param>
            <param name="dateTo"></param>
            <param name="FieldList"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.ILogAdapter.GetEntryList(Westwind.Utilities.Logging.ErrorLevels,System.Int32,System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.String)">
            <summary>
            Returns a filtered list of entries as a strongly typed list
            </summary>
            <param name="errorLevel"></param>
            <param name="count"></param>
            <param name="dateFrom"></param>
            <param name="dateTo"></param>
            <param name="FieldList"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.ILogAdapter.CreateLog">
            <summary>
            Creates the a standard Log store if it doesn't exist
            </summary>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.ILogAdapter.DeleteLog">
            <summary>
            Deletes the log file completely
            </summary>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.ILogAdapter.Clear">
            <summary>
            Clears the Log store completely
            </summary>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.ILogAdapter.Clear(System.Int32)">
            <summary>
            Clears the log but leaves the last entries intact
            </summary>
            <param name="countToLeave"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.ILogAdapter.Clear(System.Decimal)">
            <summary>
            Clears the log by a number of days
            </summary>
            <param name="daysToClear"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.ILogAdapter.GetEntryCount(Westwind.Utilities.Logging.ErrorLevels)">
            <summary>
            Returns a count of total log entries
            </summary>
            <returns></returns>
        </member>
        <member name="P:Westwind.Utilities.Logging.ILogAdapter.ConnectionString">
            <summary>
            ConnectionString or other string that identifies the output medium
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Logging.ILogAdapter.LogFilename">
            <summary>
            The name of the log file if a file is involved
            </summary>
        </member>
        <member name="T:Westwind.Utilities.Logging.LogEntry">
            <summary>
            Message object that contains information about the current error information
            
            Note: a WebLogEntry specific to Web applications lives in the
            Westwind.Web assembly.
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Logging.LogEntry.UpdateFromException(System.Exception)">
            <summary>
            Updates the current request as an error log entry and 
            sets the ErrorType, Message and StackTrace properties
            from the content of the passed exception
            </summary>
            <param name="ex"></param>
        </member>
        <member name="P:Westwind.Utilities.Logging.LogEntry.Id">
            <summary>
            The unique ID for this LogEntry
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Logging.LogEntry.Entered">
            <summary>
            When this error occurred.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Logging.LogEntry.Message">
            <summary>
            The Actual Error Message
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Logging.LogEntry.ErrorLevel">
            <summary>
            Determines the error level of the messages
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Logging.LogEntry.Details">
            <summary>
            Free form text field that contains extra data to display
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Logging.LogEntry.ErrorType">
            <summary>
            The type of exception that was thrown if an error occurred
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Logging.LogEntry.StackTrace">
            <summary>
            StackTrace in event of an exception
            </summary>
        </member>
        <member name="F:Westwind.Utilities.Logging.ErrorLevels.Error">
            <summary>
            A critical error occurred
            </summary>          
        </member>
        <member name="F:Westwind.Utilities.Logging.ErrorLevels.Warning">
            <summary>
            A warning type message that drives attention to potential problems
            </summary>
        </member>
        <member name="F:Westwind.Utilities.Logging.ErrorLevels.Info">
            <summary>
            Log Entry
            </summary>
        </member>
        <member name="F:Westwind.Utilities.Logging.ErrorLevels.Debug">
            <summary>
            Debug message
            </summary>
        </member>
        <member name="F:Westwind.Utilities.Logging.ErrorLevels.ApplicationInfo">
            <summary>
            Application level information log entries
            </summary>
        </member>
        <member name="F:Westwind.Utilities.Logging.ErrorLevels.ApplicationError">
            <summary>
            Application Level Error entries
            </summary>
        </member>
        <member name="F:Westwind.Utilities.Logging.ErrorLevels.None">
            <summary>
            Empty - not assigned
            </summary>        
        </member>
        <member name="F:Westwind.Utilities.Logging.ErrorLevels.All">
            <summary>
            All ErrorLevels - used only for querying
            </summary>            
        </member>
        <member name="T:Westwind.Utilities.Logging.LogManager">
            <summary>
            The LogManager provides the top level access to the log and is
            the public facing interface to the log. It uses an underlying 
            ILogProvider implementation to write to the appropriate log store.
            which includes Sql Server, Text File, Xml File or EventLog (and
            can be extended with your own providers)
            
            To use you'll need to create an instance of the LogProvider once
            can call the static Create method. From then on in you can always
            use the LogManager.Current instance to access features
            of the logging engine.
            
            To set up (Application_Start
            // Specify Sql Log with a Connection string or ConnectionString Config Entry Name
            LogManager.Create( new SqlLogAdapter("WestWindAdmin") );
            
            To access log features:
            LogEntry entry = new LogEntry();
            entry.Message = "Application started...";
            entry.ErrorLevel = 
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Logging.LogManager.Create(Westwind.Utilities.Logging.ILogAdapter)">
            <summary>
            Creates an instance of a log Manager and attaches it
            to the static Current property that is reusable throughout
            the application.
            
            This method should be called once when the application starts
            </summary>
            <param name="adapter"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.LogManager.Create(Westwind.Utilities.Logging.LogAdapterTypes)">
            <summary>
            Creates an instance of the LogManager based on the
            settings configured in the web.config file
            </summary>        
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.LogManager.Create">
            <summary>
            Creates a new instance of the LogManager based on the
            settings in the .config file.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.LogManager.#ctor">
            <summary>
            Don't allow no-parm 
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Logging.LogManager.#ctor(Westwind.Utilities.Logging.ILogAdapter)">
            <summary>
            Main signature allows creating of manager with an adapter
            to specify logging target
            
            Available Adapters are:
            SqlLogAdapter
            XmlLogAdapter (n/a)
            TextLogAdapter (n/a)
            EventLogAdapter (n/a)
            </summary>
            <param name="logAdapter"></param>
        </member>
        <member name="M:Westwind.Utilities.Logging.LogManager.WriteEntry(Westwind.Utilities.Logging.WebLogEntry)">
            <summary>
            Writes a Web specific log entry into the log
            </summary>
            <param name="entry"></param>
            <returns></returns>        
        </member>
        <member name="M:Westwind.Utilities.Logging.LogManager.Log(Westwind.Utilities.Logging.WebLogEntry,System.Boolean)">
            <summary>
            Writes a Web specific log entry into the log
            </summary>
            <param name="entry"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.LogManager.LogInfo(System.String,System.String,System.String,System.Boolean)">
            <summary>
            Writes an Info entry into the log
            </summary>
            <param name="message"></param>
            <param name="?"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.LogManager.LogError(System.String,System.String,System.String)">
            <summary>
            Writes an Error message entry to the log
            </summary>
            <param name="message"></param>
            <param name="details"></param>
            <param name="stackTrace"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.LogManager.LogError(System.Exception,System.Boolean)">
            <summary>
            Writes an error entry from an exception to the log
            </summary>
            <param name="ex"></param>
            <param name="logHttpInfo"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.LogManager.LogWarning(System.String,System.String,System.String,System.Boolean)">
            <summary>
            Writes a warning message to the log
            </summary>
            <param name="message"></param>
            <param name="details"></param>
            <param name="stackTrace"></param>
            <param name="logHttpInfo"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.LogManager.GetWebLogEntry(System.Int32)">
            <summary>
            Retrieves an individual log entry if possible. Depending
            on the implementation of the log log entries may not be
            retrievable individually (for example from a text log) or
            the event log.
            </summary>
            <param name="id"></param>
            <returns>Web Log Entry or null</returns>
            <exception cref="T:System.InvalidOperationException">Fired if id is not found or data can't be accessed</exception>
        </member>
        <member name="M:Westwind.Utilities.Logging.LogManager.CreateLog">
            <summary>
            Creates a new Log table/file/log depending on the provider.
            Check provider documentation on requirements for 'connections'
            or locations for logs.
            </summary>
            <param name="logType"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.LogManager.DeleteLog">
            <summary>
            Deletes the Log completely by removing the table/file/log
            </summary>
            <param name="logType"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.LogManager.Clear">
            <summary>
            Clears out all the entries in the log
            </summary>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.LogManager.Clear(System.Int32)">
            <summary>
            Clears the log but leaves specified number of the last entries        
            </summary>
            <param name="countToLeave"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.LogManager.GetEntryCount(Westwind.Utilities.Logging.ErrorLevels)">
            <summary>
            Returns count of all entries for a given error level.
            </summary>
            <param name="errorLevel"></param>
            <returns></returns>
        </member>
        <member name="P:Westwind.Utilities.Logging.LogManager.Current">
            <summary>
            Static instance of the log manager. Used so you can configure
            the log manager once and easily reuse it in an application
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Logging.LogManager.LogAdapter">
            <summary>
            Global instance of the LogAdapter used
            </summary>
        </member>
        <member name="T:Westwind.Utilities.Logging.LogManagerConfiguration">
            <summary>
            Holds persisted Configuration Management settings that are 
            maintained in the .config file
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Logging.LogManagerConfiguration.#ctor">
            <summary>
            Initialize the LogManagerConfiguration by reading
            from configuration section "LogManager"
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Logging.LogManagerConfiguration.Current">
            <summary>
            Static singleton instance of the configuration object that
            is always accessible
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Logging.LogManagerConfiguration.ConnectionString">
            <summary>
            The 'connection string' for the LogManager. Can be a ConnectionStrings entry or a full connection string
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Logging.LogManagerConfiguration.LogFilename">
            <summary>
            The name of the file or table that holds log data.
            
            For SQL this will be a tablename. For Xml this is a 
            virtual path for the xml log file (~/admin/ApplicationWebLog.xml)
            In non-web apps a full OS path should be used.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Logging.LogManagerConfiguration.LogAdapter">
            <summary>
            Determines what type of log is logged to
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Logging.LogManagerConfiguration.LogWebRequests">
            <summary>
            Determines whether Web Requests are logged.
            
            This property doesn't actually do anything in the log provider
            itself, but acts as a configuration setting placeholder that 
            can be used in an application to determine whether you should 
            log each request in a Web application
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Logging.LogManagerConfiguration.LogErrors">
            <summary>
            Determines whether Errors are logged.
            
            This property doesn't actually do anything in the log provider
            itself, but acts as a configuration setting placeholder that 
            can be used in an application to determine whether you should 
            log Errors
            </summary>
        </member>
        <member name="T:Westwind.Utilities.Logging.LogAdapterTypes">
            <summary>
            Determines what type of log output is created
            </summary>
        </member>
        <member name="T:Westwind.Utilities.Logging.SqlLogAdapter">
            <summary>
            Log adapter that writes to a SQL Server Database
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Logging.SqlLogAdapter.#ctor(System.String)">
            <summary>
            Must pass in a SQL Server connection string or 
            config ConnectionString Id.
            </summary>
            <param name="connectionString"></param>        
        </member>
        <member name="M:Westwind.Utilities.Logging.SqlLogAdapter.#ctor">
            <summary>
            this version configures itself from the LogManager 
            configuration section
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Logging.SqlLogAdapter.CreateDal">
            <summary>
            Internally creates and configures an instance of the DAL used for data access
            </summary>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.SqlLogAdapter.WriteEntry(Westwind.Utilities.Logging.WebLogEntry)">
            <summary>
            Writes a new Web specific entry into the log file
            
            Assumes that your log file is set up to be a Web Log file
            </summary>
            <param name="webEntry"></param>
            <returns></returns>
            <exception cref="T:System.InvalidOperationException">Thrown if the insert operation fails</exception>
        </member>
        <member name="M:Westwind.Utilities.Logging.SqlLogAdapter.GetEntry(System.Int32)">
            <summary>
            Returns an individual Web log entry from the log table
            </summary>
            <param name="id"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.SqlLogAdapter.GetEntries(Westwind.Utilities.Logging.ErrorLevels,System.Int32,System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.String)">
            <summary>
            Returns entries for a given error level, and date range
            </summary>
            <param name="errorLevel"></param>
            <param name="count"></param>
            <param name="dateFrom"></param>
            <param name="dateTo"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.SqlLogAdapter.CreateLog">
            <summary>
            Creates a new log table in the current database. If the table exists already it
            is dropped and recreated.
            
            Requires database admin access.
            </summary>
            <param name="logType"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.SqlLogAdapter.DeleteLog">
            <summary>
            Deletes the Sql Log Table
            </summary>
            <param name="logType"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.SqlLogAdapter.Clear">
            <summary>
            Clears all the records of the log table
            </summary>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.SqlLogAdapter.Clear(System.Int32)">
            <summary>
            Clears the table and leaves the last number of records specified intact
            </summary>
            <param name="countToLeave"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.SqlLogAdapter.GetEntryCount(Westwind.Utilities.Logging.ErrorLevels)">
            <summary>
            Returns the number of total log entries
            </summary>
            <returns></returns>
        </member>
        <member name="P:Westwind.Utilities.Logging.SqlLogAdapter.LogFilename">
            <summary>
            The name of the table that data in SQL Server is written to
            </summary>
        </member>
        <member name="T:Westwind.Utilities.Logging.WebLogEntry">
            <summary>
            A Web specific Log entry that includes information about the current Web Request
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Logging.WebLogEntry.UpdateFromRequest(System.Web.HttpContext)">
            <summary>
            Updates the Web specific properties of this entry from the 
            supplied HttpContext object.
            </summary>
            <param name="context"></param>
            <returns></returns>
        </member>
        <member name="P:Westwind.Utilities.Logging.WebLogEntry.Url">
            <summary>
            The Url without the query string for the current request
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Logging.WebLogEntry.QueryString">
            <summary>
            The query string of the current request
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Logging.WebLogEntry.IpAddress">
            <summary>
            The IP Address of the client that called this URL
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Logging.WebLogEntry.PostData">
            <summary>
            The POST data if available
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Logging.WebLogEntry.Referrer">
            <summary>
            The Referring url
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Logging.WebLogEntry.RequestDuration">
            <summary>
            Optional duration of the current request
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Logging.XmlLogAdapter.WriteEntry(Westwind.Utilities.Logging.WebLogEntry)">
            <summary>
            Writes an entry to the log
            </summary>
            <param name="entry"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.XmlLogAdapter.GetEntry(System.Int32)">
            <summary>
            Returns an individual entry entity
            </summary>
            <param name="id"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.XmlLogAdapter.GetEntries(Westwind.Utilities.Logging.ErrorLevels,System.Int32,System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.String)">
            <summary>
            Returns a filtered list of XML entries sorted in descending order.
            </summary>
            <param name="errorLevel">The specific error level to return</param>
            <param name="count">Max number of items to return</param>
            <param name="dateFrom">From Date</param>
            <param name="dateTo">To Date</param>
            <param name="fieldList">"*" or any of the fields you want returned - currently not supported</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.XmlLogAdapter.GetEntryList(Westwind.Utilities.Logging.ErrorLevels,System.Int32,System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.String)">
            <summary>
            Not implemented yet
            </summary>
            <param name="errorLevel"></param>
            <param name="count"></param>
            <param name="dateFrom"></param>
            <param name="dateTo"></param>
            <param name="fieldList"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.XmlLogAdapter.CreateLog">
            <summary>
            Does nothing for the XmlLogAdapter - log is created with first new entry instead
            </summary>
            <param name="logType"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.XmlLogAdapter.DeleteLog">
            <summary>
            Deletes the XML log file
            </summary>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.XmlLogAdapter.Clear">
            <summary>
            Clears out all items from the XML log - in effect deletes the log file.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.XmlLogAdapter.Clear(System.Int32)">
            <summary>
            Not Implemented
            </summary>
            <param name="countToLeave"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.XmlLogAdapter.Clear(System.Decimal)">
            <summary>
            Not implemented
            </summary>
            <param name="daysToDelete"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.XmlLogAdapter.CreateEntryDataTable">
            <summary>
            Creates a DataTable on the fly
            </summary>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Logging.XmlLogAdapter.UpdateDataRowFromElement(System.Xml.Linq.XElement,System.Data.DataRow)">
            <summary>
            Updates the DataRow with data from node passed in
            </summary>
            <param name="node"></param>
            <param name="row"></param>
        </member>
        <member name="P:Westwind.Utilities.Logging.XmlLogAdapter.ConnectionString">
            <summary>
            The Xml Connection string is the filename
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Logging.XmlLogAdapter.LogFilename">
            <summary>
            The name of the file where we're logging to
            </summary>
        </member>
        <member name="T:Westwind.Utilities.Properties.Resources">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Properties.Resources.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Properties.Resources.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Properties.Resources.AConnectionStringMustBePassedToTheConstructor">
            <summary>
              Looks up a localized string similar to A connection string must be passed to the constructor.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Properties.Resources.An_error_occurred_in_your_Application">
            <summary>
              Looks up a localized string similar to An error occurred in your Application.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Properties.Resources.ByteValueGreaterThan20megsAreNotSupported">
            <summary>
              Looks up a localized string similar to Byte[] value greater than 20megs are not supported.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Properties.Resources.ConfigurationMethodNoLongerSupported">
            <summary>
              Looks up a localized string similar to This Configuration method is no longer supported. Use a Provider configuration instead..
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Properties.Resources.CouldntLoadEntityInvalidKeyProvided">
            <summary>
              Looks up a localized string similar to Couldn&apos;t load entity - invalid key provided..
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Properties.Resources.DataReaderPassedToDataReaderToObjectCannot">
            <summary>
              Looks up a localized string similar to DataReader passed to DataReaderToObject cannot be closed.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Properties.Resources.ErrorColon">
            <summary>
              Looks up a localized string similar to Error: .
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Properties.Resources.InvalidConnectionString">
            <summary>
              Looks up a localized string similar to Invalid Connection String..
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Properties.Resources.InvalidConnectionStringName">
            <summary>
              Looks up a localized string similar to Invalid Connection string name..
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Properties.Resources.InvalidHexDigit">
            <summary>
              Looks up a localized string similar to Invalid hex digit: .
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Properties.Resources.InvalidHexStringLength">
            <summary>
              Looks up a localized string similar to Invalid hex string length: {0}.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Properties.Resources.InvalidTypeForXmlTypeToNETTypeConversion">
            <summary>
              Looks up a localized string similar to Invalid type for XmlType to .NET Type conversion..
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Properties.Resources.ObjectCouldNotBeDeserializedFromXml">
            <summary>
              Looks up a localized string similar to Object could not be deserialized from Xml..
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Properties.Resources.StringToTypedValueValueTypeConversionFailed">
            <summary>
              Looks up a localized string similar to Type Conversion not handled in StringToTypedValue for .
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Properties.Resources.UnableToExtractKeys">
            <summary>
              Looks up a localized string similar to Unable to read configuration string from Sql Server field..
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Properties.Resources.UnableToReadConfigDataFromString">
            <summary>
              Looks up a localized string similar to Unable to read config information from string..
            </summary>
        </member>
        <member name="T:Westwind.Utilities.DelegateFactory">
            <summary>
            This class creates a generic method delegate from a MethodInfo signature
            converting the method call into a LateBoundMethod delegate call. Using
            this class allows making repeated calls very quickly.
            
            Note: this class will be very inefficient for individual dynamic method
            calls - compilation of the expression is very expensive up front, so using
            this delegate factory makes sense only if you re-use the dynamicly loaded
            method repeatedly.
            
            Entirely based on Nate Kohari's blog post:
            http://kohari.org/2009/03/06/fast-late-bound-invocation-with-expression-trees/
            </summary>
        </member>
        <member name="M:Westwind.Utilities.DelegateFactory.Create(System.Reflection.MethodInfo)">
            <summary>
            Creates a LateBoundMethod delegate from a MethodInfo structure
            Basically creates a dynamic delegate instance (code) on the fly.
            </summary>
            <param name="method"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.DelegateFactory.Create(System.Type,System.String,System.Type[])">
            <summary>
            Creates a LateBoundMethod from type methodname and parameter signature that
            is turned into a MethodInfo structure and then parsed into a dynamic delegate
            </summary>
            <param name="type"></param>
            <param name="methodName"></param>
            <param name="parameterTypes"></param>
            <returns></returns>
        </member>
        <member name="T:Westwind.Utilities.LateBoundMethod">
            <summary>
            LateBoundMethod is a generic method signature that is passed an instance
            and an array of parameters and returns an object. It basically can be 
            used to call any method.
            
            </summary>
            <param name="target">The instance that the dynamic method is called on</param>
            <param name="arguments"></param>
            <returns></returns>
        </member>
        <member name="T:Westwind.Utilities.Encryption">
            <summary>
            A simple encryption class that can be used to two-way encode/decode strings and byte buffers
            with single method calls.
            </summary>
        </member>
        <member name="F:Westwind.Utilities.Encryption.Key">
            <summary>
            Replace this value with some unique key of your own
            Best set this in your App start up in a Static constructor
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Encryption.EncryptBytes(System.Byte[],System.String)">
            <summary>
            Encodes a stream of bytes using DES encryption with a pass key. Lowest level method that 
            handles all work.
            </summary>
            <param name="InputString"></param>
            <param name="EncryptionKey"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Encryption.EncryptBytes(System.String,System.String)">
            <summary>
            Encrypts a string into bytes using DES encryption with a Passkey. 
            </summary>
            <param name="InputString"></param>
            <param name="EncryptionKey"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Encryption.EncryptString(System.String,System.String)">
            <summary>
            Encrypts a string using Triple DES encryption with a two way encryption key.String is returned as Base64 encoded value
            rather than binary.
            </summary>
            <param name="InputString"></param>
            <param name="EncryptionKey"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Encryption.DecryptBytes(System.Byte[],System.String)">
            <summary>
            Decrypts a Byte array from DES with an Encryption Key.
            </summary>
            <param name="DecryptBuffer"></param>
            <param name="EncryptionKey"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Encryption.DecryptString(System.String,System.String)">
            <summary>
            Decrypts a string using DES encryption and a pass key that was used for 
            encryption.
            <seealso>Class wwEncrypt</seealso>
            </summary>
            <param name="DecryptString"></param>
            <param name="EncryptionKey"></param>
            <returns>String</returns>
        </member>
        <member name="M:Westwind.Utilities.Encryption.ComputeHash(System.String,System.String,System.Byte[])">
            <summary>
            Generates a hash for the given plain text value and returns a
            base64-encoded result. Before the hash is computed, a random salt
            is generated and appended to the plain text. This salt is stored at
            the end of the hash value, so it can be used later for hash
            verification.
            </summary>
            <param name="plainText">
            Plaintext value to be hashed. 
            </param>
            <param name="hashAlgorithm">
            Name of the hash algorithm. Allowed values are: "MD5", "SHA1",
            "SHA256", "SHA384", and "SHA512" (if any other value is specified
            MD5 hashing algorithm will be used). This value is case-insensitive.
            </param>
            <param name="saltBytes">
            Salt bytes. This parameter can be null, in which case a random salt
            value will be generated.
            </param>
            <returns>
            Hash value formatted as a base64-encoded string.
            </returns>
            <remarks>
            ComputeHash code provided as an example by Obviex at
            http://www.obviex.com/samples/hash.aspx
            As noted by Obviex themselves, code is definitely not optimally efficient.
            Should performance requirements necessitate improvement, this should
            be improved.
            </remarks>
        </member>
        <member name="M:Westwind.Utilities.Encryption.GZipMemory(System.Byte[])">
            <summary>
            GZip encodes a memory buffer to a compressed memory buffer
            </summary>
            <param name="Buffer"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Encryption.GZipMemory(System.String)">
            <summary>
            Encodes a string to a gzip compressed memory buffer
            </summary>
            <param name="Input"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Encryption.GZipMemory(System.String,System.Boolean)">
            <summary>
            Encodes a file to a gzip memory buffer
            </summary>
            <param name="Filename"></param>
            <param name="IsFile"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Encryption.GZipFile(System.String,System.String)">
            <summary>
            Encodes one file to another file that is gzip compressed.
            File is overwritten if it exists and not locked.
            </summary>
            <param name="Filename"></param>
            <param name="OutputFile"></param>
            <returns></returns>
        </member>
        <member name="T:Westwind.Utilities.Expando">
            <summary>
            Class that provides extensible properties and methods to an
            existing object when cast to dynamic. This
            dynamic object stores 'extra' properties in a dictionary or
            checks the actual properties of the instance passed via 
            constructor.
            
            This class can be subclassed to extend an existing type or 
            you can pass in an instance to extend. Properties (both
            dynamic and strongly typed) can be accessed through an 
            indexer.
            
            This type allows you three ways to access its properties:
            
            Directly: any explicitly declared properties are accessible
            Dynamic: dynamic cast allows access to dictionary and native properties/methods
            Dictionary: Any of the extended properties are accessible via IDictionary interface
            </summary>
        </member>
        <member name="F:Westwind.Utilities.Expando.Instance">
            <summary>
            Instance of object passed in
            </summary>
        </member>
        <member name="F:Westwind.Utilities.Expando.InstanceType">
            <summary>
            Cached type of the instance
            </summary>
        </member>
        <member name="F:Westwind.Utilities.Expando.Properties">
            <summary>
            String Dictionary that contains the extra dynamic values
            stored on this object/instance
            </summary>        
            <remarks>Using PropertyBag to support XML Serialization of the dictionary</remarks>
        </member>
        <member name="M:Westwind.Utilities.Expando.#ctor">
            <summary>
            This constructor just works off the internal dictionary and any 
            public properties of this object.
            
            Note you can subclass Expando.
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Expando.#ctor(System.Object)">
            <summary>
            Allows passing in an existing instance variable to 'extend'.        
            </summary>
            <remarks>
            You can pass in null here if you don't want to 
            check native properties and only check the Dictionary!
            </remarks>
            <param name="instance"></param>
        </member>
        <member name="M:Westwind.Utilities.Expando.TryGetMember(System.Dynamic.GetMemberBinder,System.Object@)">
            <summary>
            Try to retrieve a member by name first from instance properties
            followed by the collection entries.
            </summary>
            <param name="binder"></param>
            <param name="result"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Expando.TrySetMember(System.Dynamic.SetMemberBinder,System.Object)">
            <summary>
            Property setter implementation tries to retrieve value from instance 
            first then into this object
            </summary>
            <param name="binder"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Expando.TryInvokeMember(System.Dynamic.InvokeMemberBinder,System.Object[],System.Object@)">
            <summary>
            Dynamic invocation method. Currently allows only for Reflection based
            operation (no ability to add methods dynamically).
            </summary>
            <param name="binder"></param>
            <param name="args"></param>
            <param name="result"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Expando.GetProperty(System.Object,System.String,System.Object@)">
            <summary>
            Reflection Helper method to retrieve a property
            </summary>
            <param name="instance"></param>
            <param name="name"></param>
            <param name="result"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Expando.SetProperty(System.Object,System.String,System.Object)">
            <summary>
            Reflection helper method to set a property value
            </summary>
            <param name="instance"></param>
            <param name="name"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Expando.InvokeMethod(System.Object,System.String,System.Object[],System.Object@)">
            <summary>
            Reflection helper method to invoke a method
            </summary>
            <param name="instance"></param>
            <param name="name"></param>
            <param name="args"></param>
            <param name="result"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Expando.GetProperties(System.Boolean)">
            <summary>
            Returns and the properties of 
            </summary>
            <param name="includeProperties"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Expando.Contains(System.Collections.Generic.KeyValuePair{System.String,System.Object},System.Boolean)">
            <summary>
            Checks whether a property exists in the Property collection
            or as a property on the instance
            </summary>
            <param name="item"></param>
            <returns></returns>
        </member>
        <member name="P:Westwind.Utilities.Expando.Item(System.String)">
            <summary>
            Convenience method that provides a string Indexer 
            to the Properties collection AND the strongly typed
            properties of the object by name.
            
            // dynamic
            exp["Address"] = "112 nowhere lane"; 
            // strong
            var name = exp["StronglyTypedProperty"] as string; 
            </summary>
            <remarks>
            The getter checks the Properties dictionary first
            then looks in PropertyInfo for properties.
            The setter checks the instance properties before
            checking the Properties dictionary.
            </remarks>
            <param name="key"></param>
            
            <returns></returns>
        </member>
        <member name="T:Westwind.Utilities.ObjectFactory`1">
            <summary>
            An object factory that can create instances of types
            for Http Web Request and Thread Scoped object objects
            and value types.
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="F:Westwind.Utilities.ObjectFactory`1._syncLock">
            <summary>
            Internal locking for collection storage
            </summary>
        </member>
        <member name="M:Westwind.Utilities.ObjectFactory`1.CreateObject(System.Object[])">
            <summary>
            Returns a standard instance of an object.
            </summary>
            <param name="args"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.ObjectFactory`1.CreateWebRequestScopedObject(System.Object[])">
            <summary>
            Creates an instance of an object that is scoped to the
            current Http Web Request. The instance
            is cached in HttpContext.Current.Items collection and effectively
            acts as a request Singleton.
            </summary>
            <param name="args"></param>        
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.ObjectFactory`1.CreateThreadScopedObject(System.Object[])">
            <summary>
            Create an instance scoped to a current thread.
            </summary>
            <param name="key">Optional reusable key of the TLS item created</param>
            <param name="args"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.ObjectFactory`1.CreateWebRequestOrThreadScopedObject(System.Object[])">
            <summary>
            Creates either Web Request scoped object instance or value
            </summary>
            <param name="args"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.ObjectFactory`1.GetUniqueObjectKey(System.Object[])">
            <summary>
            Returns a unique ID for a given type and parameter signature
            </summary>
            <typeparam name="T"></typeparam>
            <param name="args"></param>
            <returns></returns>
        </member>
        <member name="T:Westwind.Utilities.PropertyBag">
            <summary>
            Creates a serializable string/object dictionary that is XML serializable
            Encodes keys as element names and values as simple values with a type
            attribute that contains an XML type name. Complex names encode the type 
            name with type='___namespace.classname' format followed by a standard xml
            serialized format. The latter serialization can be slow so it's not recommended
            to pass complex types if performance is critical.
            </summary>
        </member>
        <member name="T:Westwind.Utilities.PropertyBag`1">
            <summary>
            Creates a serializable string for generic types that is XML serializable.
            
            Encodes keys as element names and values as simple values with a type
            attribute that contains an XML type name. Complex names encode the type 
            name with type='___namespace.classname' format followed by a standard xml
            serialized format. The latter serialization can be slow so it's not recommended
            to pass complex types if performance is critical.
            </summary>
            <typeparam name="TValue">Must be a reference type. For value types use type object</typeparam>
        </member>
        <member name="M:Westwind.Utilities.PropertyBag`1.GetSchema">
            <summary>
            Not implemented - this means no schema information is passed
            so this won't work with ASMX/WCF services.
            </summary>
            <returns></returns>       
        </member>
        <member name="M:Westwind.Utilities.PropertyBag`1.WriteXml(System.Xml.XmlWriter)">
            <summary>
            Serializes the dictionary to XML. Keys are 
            serialized to element names and values as 
            element values. An xml type attribute is embedded
            for each serialized element - a .NET type
            element is embedded for each complex type and
            prefixed with three underscores.
            </summary>
            <param name="writer"></param>
        </member>
        <member name="M:Westwind.Utilities.PropertyBag`1.ReadXml(System.Xml.XmlReader)">
            <summary>
            Reads the custom serialized format
            </summary>
            <param name="reader"></param>
        </member>
        <member name="M:Westwind.Utilities.PropertyBag`1.ToXml">
            <summary>
            Serializes this dictionary to an XML string
            </summary>
            <returns>XML String or Null if it fails</returns>
        </member>
        <member name="M:Westwind.Utilities.PropertyBag`1.FromXml(System.String)">
            <summary>
            Deserializes from an XML string
            </summary>
            <param name="xml"></param>
            <returns>true or false</returns>
        </member>
        <member name="M:Westwind.Utilities.PropertyBag`1.CreateFromXml(System.String)">
            <summary>
            Creates an instance of a propertybag from an Xml string
            </summary>
            <param name="xml"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.PropertyBag.CreateFromXml(System.String)">
            <summary>
            Creates an instance of a propertybag from an Xml string
            </summary>
            <param name="xml">Serialize</param>
            <returns></returns>
        </member>
        <member name="T:Westwind.Utilities.Scheduler">
            <summary>
            A generic scheduling service that runs on a background
            thread and fires events in a given check frequency.
            
            
            </summary>
        </member>
        <member name="F:Westwind.Utilities.Scheduler._SyncLock">
            <summary>
             Internal property used for cross thread locking
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Scheduler.Start(System.Int32)">
            <summary>
            Starts the background thread processing       
            </summary>
            <param name="CheckFrequency">Frequency that checks are performed in seconds</param>
        </member>
        <member name="M:Westwind.Utilities.Scheduler.Start">
            <summary>
            Starts the background Thread processing
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Scheduler.Stop">
            <summary>
            Causes the processing to stop. If the operation is still
            active it will stop after the current message processing
            completes
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Scheduler.Run">
            <summary>
            Runs the actual processing loop by checking the mail box
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Scheduler.OnExecuteScheduledEvent">
            <summary>
            Handles a scheduled operation. Checks to see if an event handler
            is set up and if so calls it. 
            
            This method can also be overrriden in a subclass to implemnent
            custom functionality.
            </summary>
        </member>
        <member name="M:Westwind.Utilities.Scheduler.OnError(System.Exception)">
            <summary>
            This method is called if an error occurs during processing
            of the OnExecuteScheduledEvent request
            
            Override this method in your own implementation to provide
            for error logging or other handling of an error that occurred
            in processing.
            
            Ideally this shouldn't be necessary - your OnexecuteScheduledEvent
            code should handle any errors internally and provide for its own 
            logging mechanism but this is here as an additional point of
            control.
            </summary>
            <param name="ex">Exception occurred during item execution</param>
        </member>
        <member name="M:Westwind.Utilities.Scheduler.AddItem(System.Object)">
            <summary>
            Adds an item to the queue.
            </summary>
            <param name="item"></param>
        </member>
        <member name="M:Westwind.Utilities.Scheduler.GetNextItem">
            <summary>
            Returns the next queued item or null on failure.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.Scheduler.PingServer(System.String)">
            <summary>
            Optional routine that pings a Url on the server
            to keep the server alive. 
            
            Use this to avoid IIS shutting down your AppPools
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Scheduler.Cancelled">
            <summary>
            Determines the status  the Scheduler
            </summary>        
        </member>
        <member name="P:Westwind.Utilities.Scheduler.CheckFrequency">
            <summary>
            The frequency in how often the main method is executed.
            Given in milli-seconds.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Scheduler.WebServerPingUrl">
            <summary>
            Optional URL that is pinged occasionally to
            ensure the server stays alive.
            
            If empty hits root web page (~/yourapp/)
            </summary>
        </member>
        <member name="E:Westwind.Utilities.Scheduler.ExecuteScheduledEvent">
            <summary>
            Event that is fired when
            </summary>
        </member>
        <member name="P:Westwind.Utilities.Scheduler.Items">
            <summary>
            Memory based queue that contains items and allows
            retrieval of items.
            
            Note memory based! This means if app crashses
            or is shut down messages might get lost.
            
            If message persistence is important your scheduling store
            should be a database. You can use the QueueMessageManager
            object for example.
            </summary>    
        </member>
        <member name="T:Westwind.Utilities.SchedulerItem">
            <summary>
            A simple item wrapper that allows separating items
            by type.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.SchedulerItem.Type">
            <summary>
            Allows identifying items by type
            </summary>
        </member>
        <member name="P:Westwind.Utilities.SchedulerItem.TextData">
            <summary>
            Any text data you want to submit
            </summary>
        </member>
        <member name="P:Westwind.Utilities.SchedulerItem.Data">
            <summary>
            Any binary data you want to submit
            </summary>
        </member>
        <member name="P:Westwind.Utilities.SchedulerItem.Entered">
            <summary>
            The initial date when the item was
            created or submitted.
            </summary>
        </member>
        <member name="T:Westwind.Utilities.StringSerializer">
            <summary>
            A very simple flat object serializer that can be used 
            for intra application serialization. It creates a very compact
            positional string of properties.
            Only serializes top level properties, with no nesting support
            and only simple properties or those with a type converter are
            supported. Complex properties or non-two way type convertered
            values are ignored.
            
            Creates strings in the format of:
            Rick|rstrahl@west-wind.com|1|True|3/29/2013 1:32:31 PM|1
            </summary>
            <remarks>
            This component is meant for intra application serialization of
            very compact objects. A common use case is for state serialization
            for cookies or a Forms Authentication ticket to minimize the amount
            of space used - the output produced here contains only the actual
            data, no property info or validation like other serialization formats.
            Use only on small objects when size and speed matter otherwise use
            a JSON/XML/Binary serializer or the ASP.NET LosFormatter object.
            </remarks>
        </member>
        <member name="M:Westwind.Utilities.StringSerializer.SerializeObject(System.Object,System.String)">
            <summary>
            Serializes a flat object's properties into a String
            separated by a separator character/string. Only
            top level properties are serialized.
            </summary>
            <remarks>
            Only serializes top level properties, with no nesting support
            and only simple properties or those with a type converter are
            'serialized'. All other property types use ToString().
            </remarks>
            <param name="objectToSerialize">The object to serialize</param>
            <param name="separator">Optional separator character or string. Default is |</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.StringSerializer.DeserializeObject(System.String,System.Type,System.String)">
            <summary>
            Deserializes an object previously serialized by SerializeObject.
            </summary>
            <param name="serialized"></param>
            <param name="type"></param>
            <param name="separator"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.StringSerializer.Deserialize``1(System.String,System.String)">
            <summary>
            Deserializes an object serialized with SerializeObject.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="serialized"></param>
            <param name="separator"></param>
            <returns></returns>
        </member>
        <member name="T:Westwind.Utilities.DataUtils">
            <summary>
            Utility library for common data operations.
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Westwind.Utilities.DataUtils.GenerateUniqueId(System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:Westwind.Utilities.DataUtils.GenerateUniqueNumericId" -->
        <member name="M:Westwind.Utilities.DataUtils.GetRandomNumber(System.Int32,System.Int32)">
            <summary>
            Returns a random integer in a range of numbers
            a single seed value.
            </summary>
            <param name="min">The minimum value</param>
            <param name="max">The max value *including* this value (unlike Random.Next() which doesn't include it)</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.DataUtils.CopyDataRow(System.Data.DataRow,System.Data.DataRow)">
            <summary>
            Copies the content of a data row to another. Runs through the target's fields
            and looks for fields of the same name in the source row. Structure must mathc
            or fields are skipped.
            </summary>
            <param name="source"></param>
            <param name="target"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.DataUtils.CopyObjectToDataRow(System.Data.DataRow,System.Object)">
            <summary>
            Copies the content of an object to a DataRow with matching field names.
            Both properties and fields are copied. If a field copy fails due to a
            type mismatch copying continues but the method returns false
            </summary>
            <param name="row"></param>
            <param name="target"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.DataUtils.CopyObjectData(System.Object,System.Object)">
            <summary>
            Copies the content of one object to another. The target object 'pulls' properties of the first. 
            </summary>
            <param name="source"></param>
            <param name="target"></param>
        </member>
        <member name="M:Westwind.Utilities.DataUtils.CopyObjectData(System.Object,System.Object,System.Reflection.BindingFlags)">
            <summary>
            Copies the content of one object to another. The target object 'pulls' properties of the first. 
            </summary>
            <param name="source"></param>
            <param name="target"></param>
            <param name="memberAccess"></param>
        </member>
        <member name="M:Westwind.Utilities.DataUtils.CopyObjectData(System.Object,System.Object,System.String)">
            <summary>
            Copies the content of one object to another. The target object 'pulls' properties of the first. 
            </summary>
            <param name="source"></param>
            <param name="target"></param>
            <param name="excludedProperties"></param>
        </member>
        <member name="M:Westwind.Utilities.DataUtils.CopyObjectData(System.Object,System.Object,System.String,System.Reflection.BindingFlags)">
            <summary>
            Copies the data of one object to another. The target object 'pulls' properties of the first. 
            This any matching properties are written to the target.
            
            The object copy is a shallow copy only. Any nested types will be copied as 
            whole values rather than individual property assignments (ie. via assignment)
            </summary>
            <param name="source">The source object to copy from</param>
            <param name="target">The object to copy to</param>
            <param name="excludedProperties">A comma delimited list of properties that should not be copied</param>
            <param name="memberAccess">Reflection binding access</param>
        </member>
        <member name="M:Westwind.Utilities.DataUtils.DataReaderToObjectList``1(System.Data.IDataReader,System.String,System.Collections.Generic.Dictionary{System.String,System.Reflection.PropertyInfo})">
            <summary>
            Creates a list of a given type from all the rows in a DataReader.
            
            Note this method uses Reflection so this isn't a high performance
            operation, but it can be useful for generic data reader to entity
            conversions on the fly and with anonymous types.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="reader">An open DataReader that's in position to read</param>
            <param name="fieldsToSkip">Optional - comma delimited list of fields that you don't want to update</param>
            <param name="piList">
            Optional - Cached PropertyInfo dictionary that holds property info data for this object.
            Can be used for caching hte PropertyInfo structure for multiple operations to speed up
            translation. If not passed automatically created.
            </param>
            <returns></returns>
            <remarks>DataReader is not closed by this method. Make sure you call reader.close() afterwards</remarks>
        </member>
        <member name="M:Westwind.Utilities.DataUtils.DataReaderToIEnumerable``1(System.Data.IDataReader,System.String,System.Collections.Generic.Dictionary{System.String,System.Reflection.PropertyInfo})">
             <summary>
             Creates an IEnumerable of T from an open DataReader instance.
            
             Note this method uses Reflection so this isn't a high performance
             operation, but it can be useful for generic data reader to entity
             conversions on the fly and with anonymous types.
             </summary>
             <param name="reader">An open DataReader that's in position to read</param>
             <param name="fieldsToSkip">Optional - comma delimited list of fields that you don't want to update</param>
             <param name="piList">
             Optional - Cached PropertyInfo dictionary that holds property info data for this object.
             Can be used for caching hte PropertyInfo structure for multiple operations to speed up
             translation. If not passed automatically created.
             </param>
             <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.DataUtils.DataReaderToObject(System.Data.IDataReader,System.Object,System.String,System.Collections.Generic.Dictionary{System.String,System.Reflection.PropertyInfo})">
            <summary>
            Populates the properties of an object from a single DataReader row using
            Reflection by matching the DataReader fields to a public property on
            the object passed in. Unmatched properties are left unchanged.
            
            You need to pass in a data reader located on the active row you want
            to serialize.
            
            This routine works best for matching pure data entities and should
            be used only in low volume environments where retrieval speed is not
            critical due to its use of Reflection.
            </summary>
            <param name="reader">Instance of the DataReader to read data from. Should be located on the correct record (Read() should have been called on it before calling this method)</param>
            <param name="instance">Instance of the object to populate properties on</param>
            <param name="fieldsToSkip">Optional - A comma delimited list of object properties that should not be updated</param>
            <param name="piList">Optional - Cached PropertyInfo dictionary that holds property info data for this object</param>
        </member>
        <member name="F:Westwind.Utilities.DataUtils.MinimumSqlDate">
            <summary>
            The default SQL date used by InitializeDataRowWithBlanks. Considered a blank date instead of null.
            </summary>
        </member>
        <member name="M:Westwind.Utilities.DataUtils.InitializeDataRowWithBlanks(System.Data.DataRow)">
            <summary>
            Initializes a Datarow containing NULL values with 'empty' values instead.
            Empty values are:
            String - ""
            all number types - 0 or 0.00
            DateTime - Value of MinimumSqlData (1/1/1900 by default);
            Boolean - false
            Binary values and timestamps are left alone
            </summary>
            <param name="row">DataRow to be initialized</param>
        </member>
        <member name="M:Westwind.Utilities.DataUtils.SqlTypeToDotNetType(System.Data.SqlDbType)">
            <summary>
            Maps a SqlDbType to a .NET type
            </summary>
            <param name="sqlType"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.DataUtils.DbTypeToDotNetType(System.Data.DbType)">
            <summary>
            Maps a DbType to a .NET native type
            </summary>
            <param name="sqlType"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.DataUtils.DotNetTypeToDbType(System.Type)">
            <summary>
            Converts a .NET type into a DbType value
            </summary>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.DataUtils.DotNetTypeToSqlType(System.Type)">
            <summary>
            Converts a .NET type into a SqlDbType.
            </summary>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.DataUtils.GetSqlCommand(System.String,System.String,System.Data.SqlClient.SqlParameter[])">
            <summary>
            Creates a Command object and opens a connection
            </summary>
            <param name="ConnectionString"></param>
            <param name="Sql"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.DataUtils.GetSqlDataReader(System.String,System.String,System.Data.SqlClient.SqlParameter[])">
            <summary>
            Returns a SqlDataReader object from a SQL string.
            
            Please ensure you close the Reader object
            </summary>
            <param name="ConnectionString"></param>
            <param name="Sql"></param>
            <param name="Parameters"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.DataUtils.GetDataTable(System.String,System.String,System.String,System.Data.SqlClient.SqlParameter[])">
            <summary>
            Returns a DataTable from a Sql Command string passed in.
            </summary>
            <param name="Tablename"></param>
            <param name="ConnectionString"></param>
            <param name="Sql"></param>
            <param name="Parameters"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.DataUtils.CloseConnection(System.Data.SqlClient.SqlCommand)">
            <summary>
            Closes a connection
            </summary>
            <param name="Command"></param>
        </member>
        <member name="T:Westwind.Utilities.DebugUtils">
            <summary>
            DebugUtils class contains various utility methods
            for debugging and diagnostic tasks
            </summary>
        </member>
        <member name="M:Westwind.Utilities.DebugUtils.GetInnerMostException(System.Exception)">
            <summary>
            Returns the innermost Exception for an object
            </summary>
            <param name="ex"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.DebugUtils.GetInnerExceptions(System.Exception)">
            <summary>
            Returns an array of the entire exception list in reverse order
            (innermost to outermost exception)
            </summary>
            <param name="ex">The original exception to work off</param>
            <returns>Array of Exceptions from innermost to outermost</returns>
        </member>
        <member name="T:Westwind.Utilities.UrlParser">
            <summary>
            Internally used class that is used to expand links in text
            strings.
            </summary>
        </member>
        <member name="M:Westwind.Utilities.UrlParser.ExpandUrls(System.String,System.String,System.Boolean)">
            <summary>
            Expands links into HTML hyperlinks inside of text or HTML.
            </summary>
            <param name="text">The text to expand</param>
            <param name="target">Target frame where links are displayed</param>
            <param name="parseFormattedLinks">Allows parsing of links in the following format [text|www.site.com]</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.UrlParser.ExpandUrlsInternal(System.String)">
            <summary>
            Expands links into HTML hyperlinks inside of text or HTML.
            </summary>
            <param name="text">The text to expand</param>    
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.UrlParser.ExpandUrlsRegExEvaluator(System.Text.RegularExpressions.Match)">
            <summary>
            Internal RegExEvaluator callback
            </summary>
            <param name="M"></param>
            <returns></returns>
        </member>
        <member name="T:Westwind.Utilities.FileUtils">
            <summary>
            wwUtils class which contains a set of common utility classes for 
            Formatting strings
            Reflection Helpers
            Object Serialization
            Stream Manipulation
            </summary>
        </member>
        <member name="M:Westwind.Utilities.FileUtils.CopyStream(System.IO.Stream,System.IO.Stream,System.Int32)">
            <summary>
            Copies the content of the one stream to another.
            Streams must be open and stay open.
            </summary>
        </member>
        <member name="M:Westwind.Utilities.FileUtils.CopyStream(System.IO.Stream,System.IO.Stream,System.Int32,System.Boolean)">
            <summary>
            Copies the content of one stream to another by appending to the target stream
            Streams must be open when passed in.
            </summary>
            <param name="source"></param>
            <param name="dest"></param>
            <param name="bufferSize"></param>
            <param name="append"></param>
        </member>
        <member name="M:Westwind.Utilities.FileUtils.GetFileEncoding(System.String)">
            <summary>
            Detects the byte order mark of a file and returns
            an appropriate encoding for the file.
            </summary>
            <param name="srcFile"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.FileUtils.OpenStreamReaderWithEncoding(System.String)">
            <summary>
            Opens a stream reader with the appropriate text encoding applied.
            </summary>
            <param name="srcFile"></param>
        </member>
        <member name="M:Westwind.Utilities.FileUtils.JustPath(System.String)">
            <summary>
            Returns the full path of a full physical filename
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.FileUtils.GetFullPath(System.String)">
            <summary>
            Returns a fully qualified path from a partial or relative
            path.
            </summary>
            <param name="Path"></param>
        </member>
        <member name="M:Westwind.Utilities.FileUtils.GetRelativePath(System.String,System.String)">
            <summary>
            Returns a relative path string from a full path based on a base path
            provided.
            </summary>
            <param name="fullPath">The path to convert. Can be either a file or a directory</param>
            <param name="basePath">The base path on which relative processing is based. Should be a directory.</param>
            <returns>
            String of the relative path.
            
            Examples of returned values:
             test.txt, ..\test.txt, ..\..\..\test.txt, ., .., subdir\test.txt
            </returns>
        </member>
        <member name="M:Westwind.Utilities.FileUtils.DeleteTimedoutFiles(System.String,System.Int32)">
            <summary>
            Deletes files based on a file spec and a given timeout.
            This routine is useful for cleaning up temp files in 
            Web applications.
            </summary>
            <param name="filespec">A filespec that includes path and/or wildcards to select files</param>
            <param name="seconds">The timeout - if files are older than this timeout they are deleted</param>
        </member>
        <member name="M:Westwind.Utilities.GenericUtils.Inlist``1(``0,``0[])">
            <summary>
            Determines whether an item is contained in a list of other items
            </summary>
            <typeparam name="T">Any type</typeparam>
            <param name="item"></param>
            <param name="list"></param>
            <returns></returns>
        </member>
        <member name="T:Westwind.Utilities.HtmlUtils">
            <summary>
            Html string and formatting utilities
            </summary>
        </member>
        <member name="M:Westwind.Utilities.HtmlUtils.FixHTMLForDisplay(System.String)">
            <summary>
            Replaces and  and Quote characters to HTML safe equivalents.
            </summary>
            <param name="html">HTML to convert</param>
            <returns>Returns an HTML string of the converted text</returns>
        </member>
        <member name="M:Westwind.Utilities.HtmlUtils.StripHtml(System.String)">
            <summary>
            Strips HTML tags out of an HTML string and returns just the text.
            </summary>
            <param name="html">Html String</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.HtmlUtils.DisplayMemo(System.String)">
            <summary>
            Fixes a plain text field for display as HTML by replacing carriage returns 
            with the appropriate br and p tags for breaks.
            </summary>
            <param name="htmlText">Input string</param>
            <returns>Fixed up string</returns>
        </member>
        <member name="M:Westwind.Utilities.HtmlUtils.DisplayMemoEncoded(System.String)">
            <summary>
            Method that handles handles display of text by breaking text.
            Unlike the non-encoded version it encodes any embedded HTML text
            </summary>
            <param name="text"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.HtmlUtils.HtmlEncode(System.String)">
            <summary>
            HTML-encodes a string and returns the encoded string.
            </summary>
            <param name="text">The text string to encode. </param>
            <returns>The HTML-encoded text.</returns>
        </member>
        <member name="M:Westwind.Utilities.HtmlUtils.Href(System.String,System.String,System.String,System.String)">
            <summary>
            Create an Href HTML link
            </summary>
            <param name="text"></param>
            <param name="url"></param>
            <param name="target"></param>
            <param name="additionalMarkup"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.HtmlUtils.Href(System.String)">
            <summary>
            Creates an HREF HTML Link
            </summary>
            <param name="url"></param>
        </member>
        <member name="M:Westwind.Utilities.HtmlUtils.ImgRef(System.String,System.String)">
            <summary>
            Returns an IMG link as a string. If the image is null
            or empty a blank string is returned.
            </summary>
            <param name="imageUrl"></param>
            <param name="additionalMarkup">any additional attributes added to the element</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.HtmlUtils.ResolveUrl(System.String)">
            <summary>
            Resolves a URL based on the current HTTPContext
            
            Note this method is added here internally only
            to support the HREF() method and ~ expansion
            on urls.
            </summary>
            <param name="originalUrl"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.HtmlUtils.HtmlAbstract(System.String,System.Int32)">
            <summary>
            Creates an Abstract from an HTML document. Strips the 
            HTML into plain text, then creates an abstract.
            </summary>
            <param name="html"></param>
            <returns></returns>
        </member>
        <member name="T:Westwind.Utilities.ImageUtils">
            <summary>
            Summary description for wwImaging.
            </summary>
        </member>
        <member name="M:Westwind.Utilities.ImageUtils.ResizeImage(System.String,System.Int32,System.Int32,System.Drawing.Drawing2D.InterpolationMode)">
            <summary>
            Creates a resized bitmap from an existing image on disk. Resizes the image by 
            creating an aspect ratio safe image. Image is sized to the larger size of width
            height and then smaller size is adjusted by aspect ratio.
            
            Image is returned as Bitmap - call Dispose() on the returned Bitmap object
            </summary>
            <param name="filename"></param>
            <param name="width"></param>
            <param name="height"></param>
            <returns>Bitmap or null</returns>
        </member>
        <member name="M:Westwind.Utilities.ImageUtils.ResizeImage(System.Byte[],System.Int32,System.Int32,System.Drawing.Drawing2D.InterpolationMode)">
            <summary>
            Resizes an image from byte array and returns a Bitmap.
            Make sure you Dispose() the bitmap after you're done 
            with it!
            </summary>
            <param name="data"></param>
            <param name="width"></param>
            <param name="height"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.ImageUtils.ResizeImage(System.String,System.String,System.Int32,System.Int32,System.Drawing.Drawing2D.InterpolationMode)">
            <summary>
            Resizes an image and saves the image to a file
            </summary>
            <param name="filename"></param>
            <param name="outputFilename"></param>
            <param name="width"></param>
            <param name="height"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.ImageUtils.GetImageFormatFromFilename(System.String)">
            <summary>
            Tries to return an image format 
            </summary>
            <param name="filename"></param>
            <returns>Image format or ImageFormat.Emf if no match was found</returns>
        </member>
        <member name="M:Westwind.Utilities.ImageUtils.ResizeImage(System.Drawing.Bitmap,System.Int32,System.Int32,System.Drawing.Drawing2D.InterpolationMode)">
            <summary>
            Resizes an image from a bitmap.
            
            Note it will size to the larger of the sides 
            
            </summary>
            <param name="bmp"></param>
            <param name="width"></param>
            <param name="height"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.ImageUtils.RoateImage(System.String,System.String,System.Drawing.RotateFlipType)">
            <summary>
            Rotates an image and writes out the rotated image to a file.
            </summary>
            <param name="filename">The original image to roatate</param>
            <param name="outputFilename">The output file of the rotated image file. If not passed the original file is overwritten</param>
            <param name="type">Type of rotation to perform</param>
            <returns></returns>
        </member>
        <member name="T:Westwind.Utilities.JsonSerializationUtils">
            <summary>
            JSON Serialization helper class that uses JSON.NET.
            This class serializes JSON to and from string and 
            files on disk.
            </summary>
            <remarks>
            JSON.NET is loaded dynamically at runtime to avoid hard 
            linking the Newtonsoft.Json dll. Make sure that your
            project includes a reference to JSON.NET when using this
            class.
            </remarks>
        </member>
        <member name="M:Westwind.Utilities.JsonSerializationUtils.Serialize(System.Object,System.Boolean,System.Boolean)">
            <summary>
            Serializes an object to an XML string. Unlike the other SerializeObject overloads
            this methods *returns a string* rather than a bool result!
            </summary>
            <param name="value">Value to serialize</param>
            <param name="throwExceptions">Determines if a failure throws or returns null</param>
            <returns>
            null on error otherwise the Xml String.         
            </returns>
            <remarks>
            If null is passed in null is also returned so you might want
            to check for null before calling this method.
            </remarks>
        </member>
        <member name="M:Westwind.Utilities.JsonSerializationUtils.SerializeToFile(System.Object,System.String,System.Boolean,System.Boolean)">
            <summary>
            Serializes an object instance to a JSON file.
            </summary>
            <param name="value">the value to serialize</param>
            <param name="fileName">Full path to the file to write out with JSON.</param>
            <param name="throwExceptions">Determines whether exceptions are thrown or false is returned</param>
            <param name="formatJsonOutput">if true pretty-formats the JSON with line breaks</param>
            <returns>true or false</returns>        
        </member>
        <member name="M:Westwind.Utilities.JsonSerializationUtils.DeserializeFromFile(System.String,System.Type,System.Boolean)">
            <summary>
            Deserializes an object from file and returns a reference.
            </summary>
            <param name="fileName">name of the file to serialize to</param>
            <param name="objectType">The Type of the object. Use typeof(yourobject class)</param>
            <param name="binarySerialization">determines whether we use Xml or Binary serialization</param>
            <param name="throwExceptions">determines whether failure will throw rather than return null on failure</param>
            <returns>Instance of the deserialized object or null. Must be cast to your object type</returns>
        </member>
        <member name="M:Westwind.Utilities.JsonSerializationUtils.CreateJsonNet(System.Boolean)">
            <summary>
            Dynamically creates an instance of JSON.NET
            </summary>
            <param name="throwExceptions">If true throws exceptions otherwise returns null</param>
            <returns>Dynamic JsonSerializer instance</returns>
        </member>
        <member name="M:Westwind.Utilities.NetworkUtils.GetBaseDomain(System.String)">
            <summary>
            Retrieves a base domain name from a full domain name.
            For example: www.west-wind.com produces west-wind.com
            </summary>
            <param name="domainName">Dns Domain name as a string</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.NetworkUtils.GetBaseDomain(System.Uri)">
            <summary>
            Returns the base domain from a domain name
            Example: http://www.west-wind.com returns west-wind.com
            </summary>
            <param name="uri"></param>
            <returns></returns>
        </member>
        <member name="T:Westwind.Utilities.ReflectionUtils">
            <summary>
            Collection of Reflection and type conversion related utility functions
            </summary>
        </member>
        <member name="F:Westwind.Utilities.ReflectionUtils.MemberAccess">
            <summary>
            Binding Flags constant to be reused for all Reflection access methods.
            </summary>
        </member>
        <member name="M:Westwind.Utilities.ReflectionUtils.GetProperty(System.Object,System.String)">
            <summary>
            Retrieve a property value from an object dynamically. This is a simple version
            that uses Reflection calls directly. It doesn't support indexers.
            </summary>
            <param name="instance">Object to make the call on</param>
            <param name="property">Property to retrieve</param>
            <returns>Object - cast to proper type</returns>
        </member>
        <member name="M:Westwind.Utilities.ReflectionUtils.GetField(System.Object,System.String)">
            <summary>
            Retrieve a field dynamically from an object. This is a simple implementation that's
            straight Reflection and doesn't support indexers.
            </summary>
            <param name="Object">Object to retreve Field from</param>
            <param name="Property">name of the field to retrieve</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.ReflectionUtils.GetPropertyInternal(System.Object,System.String)">
            <summary>
            Parses Properties and Fields including Array and Collection references.
            Used internally for the 'Ex' Reflection methods.
            </summary>
            <param name="Parent"></param>
            <param name="Property"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.ReflectionUtils.SetPropertyInternal(System.Object,System.String,System.Object)">
            <summary>
            Parses Properties and Fields including Array and Collection references.
            </summary>
            <param name="Parent"></param>
            <param name="Property"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.ReflectionUtils.GetPropertyEx(System.Object,System.String)">
            <summary>
            Returns a property or field value using a base object and sub members including . syntax.
            For example, you can access: oCustomer.oData.Company with (this,"oCustomer.oData.Company")
            This method also supports indexers in the Property value such as:
            Customer.DataSet.Tables["Customers"].Rows[0]
            </summary>
            <param name="Parent">Parent object to 'start' parsing from. Typically this will be the Page.</param>
            <param name="Property">The property to retrieve. Example: 'Customer.Entity.Company'</param>
            <returns></returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Westwind.Utilities.ReflectionUtils.GetPropertyInfoEx(System.Object,System.String)" -->
        <member name="M:Westwind.Utilities.ReflectionUtils.GetPropertyInfoInternal(System.Object,System.String)">
            <summary>
            Returns a PropertyInfo structure from an extended Property reference
            </summary>
            <param name="Parent"></param>
            <param name="Property"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.ReflectionUtils.SetProperty(System.Object,System.String,System.Object)">
            <summary>
            Sets the property on an object. This is a simple method that uses straight Reflection 
            and doesn't support indexers.
            </summary>
            <param name="obj">Object to set property on</param>
            <param name="property">Name of the property to set</param>
            <param name="value">value to set it to</param>
        </member>
        <member name="M:Westwind.Utilities.ReflectionUtils.SetField(System.Object,System.String,System.Object)">
            <summary>
            Sets the field on an object. This is a simple method that uses straight Reflection 
            and doesn't support indexers.
            </summary>
            <param name="obj">Object to set property on</param>
            <param name="property">Name of the field to set</param>
            <param name="value">value to set it to</param>
        </member>
        <member name="M:Westwind.Utilities.ReflectionUtils.SetPropertyEx(System.Object,System.String,System.Object)">
            <summary>
            Sets a value on an object. Supports . syntax for named properties
            (ie. Customer.Entity.Company) as well as indexers.
            </summary>
            <param name="Object Parent">
            Object to set the property on.
            </param>
            <param name="String Property">
            Property to set. Can be an object hierarchy with . syntax and can 
            include indexers. Examples: Customer.Entity.Company, 
            Customer.DataSet.Tables["Customers"].Rows[0]
            </param>
            <param name="Object Value">
            Value to set the property to
            </param>
        </member>
        <member name="M:Westwind.Utilities.ReflectionUtils.CallMethod(System.Object,System.String,System.Type[],System.Object[])">
            <summary>
            Calls a method on an object dynamically. This version requires explicit
            specification of the parameter type signatures.
            </summary>
            <param name="instance">Instance of object to call method on</param>
            <param name="method">The method to call as a stringToTypedValue</param>
            <param name="parameterTypes">Specify each of the types for each parameter passed. 
            You can also pass null, but you may get errors for ambiguous methods signatures
            when null parameters are passed</param>
            <param name="parms">any variable number of parameters.</param>        
            <returns>object</returns>
        </member>
        <member name="M:Westwind.Utilities.ReflectionUtils.CallMethod(System.Object,System.String,System.Object[])">
            <summary>
            Calls a method on an object dynamically. 
            
            This version doesn't require specific parameter signatures to be passed. 
            Instead parameter types are inferred based on types passed. Note that if 
            you pass a null parameter, type inferrance cannot occur and if overloads
            exist the call may fail. if so use the more detailed overload of this method.
            </summary> 
            <param name="instance">Instance of object to call method on</param>
            <param name="method">The method to call as a stringToTypedValue</param>
            <param name="parameterTypes">Specify each of the types for each parameter passed. 
            You can also pass null, but you may get errors for ambiguous methods signatures
            when null parameters are passed</param>
            <param name="parms">any variable number of parameters.</param>        
            <returns>object</returns>
        </member>
        <member name="M:Westwind.Utilities.ReflectionUtils.CallMethodEx(System.Object,System.String,System.Object[])">
            <summary>
            Calls a method on an object with extended . syntax (object: this Method: Entity.CalculateOrderTotal)
            </summary>
            <param name="parent"></param>
            <param name="method"></param>
            <param name="params"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.ReflectionUtils.CreateInstanceFromType(System.Type,System.Object[])">
            <summary>
            Creates an instance from a type by calling the parameterless constructor.
            
            Note this will not work with COM objects - continue to use the Activator.CreateInstance
            for COM objects.
            <seealso>Class wwUtils</seealso>
            </summary>
            <param name="typeToCreate">
            The type from which to create an instance.
            </param>
            <returns>object</returns>
        </member>
        <member name="M:Westwind.Utilities.ReflectionUtils.CreateInstanceFromString(System.String,System.Object[])">
            <summary>
            Creates an instance of a type based on a string. Assumes that the type's
            </summary>
            <param name="typeName"></param>
            <param name="args"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.ReflectionUtils.GetTypeFromName(System.String)">
            <summary>
            Helper routine that looks up a type name and tries to retrieve the
            full type reference in the actively executing assemblies.
            </summary>
            <param name="typeName"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.ReflectionUtils.CreateComInstance(System.String)">
            <summary>
            Creates a COM instance from a ProgID. Loads either
            Exe or DLL servers.
            </summary>
            <param name="progId"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.ReflectionUtils.TypedValueToString(System.Object,System.Globalization.CultureInfo,System.String)">
            <summary>
            Converts a type to string if possible. This method supports an optional culture generically on any value.
            It calls the ToString() method on common types and uses a type converter on all other objects
            if available
            </summary>
            <param name="rawValue">The Value or Object to convert to a string</param>
            <param name="culture">Culture for numeric and DateTime values</param>
            <param name="unsupportedReturn">Return string for unsupported types</param>
            <returns>string</returns>
        </member>
        <member name="M:Westwind.Utilities.ReflectionUtils.StringToTypedValue(System.String,System.Type,System.Globalization.CultureInfo)">
            <summary>
            Turns a string into a typed value generically.
            Explicitly assigns common types and falls back
            on using type converters for unhandled types.         
            
            Common uses: 
            * UI -&gt; to data conversions
            * Parsers
            <seealso>Class ReflectionUtils</seealso>
            </summary>
            <param name="sourceString">
            The string to convert from
            </param>
            <param name="targetType">
            The type to convert to
            </param>
            <param name="culture">
            Culture used for numeric and datetime values.
            </param>
            <returns>object. Throws exception if it cannot be converted.</returns>
        </member>
        <member name="M:Westwind.Utilities.ReflectionUtils.StringToTypedValue``1(System.String,System.Globalization.CultureInfo)">
            <summary>
            Generic version allow for automatic type conversion without the explicit type
            parameter
            </summary>
            <typeparam name="T">Type to be converted to</typeparam>
            <param name="sourceString">input string value to be converted</param>
            <param name="culture">Culture applied to conversion</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.ReflectionUtils.GetEnumList(System.Type,System.Boolean)">
            <summary>
            Returns a List of KeyValuePair object
            </summary>
            <param name="enumeration"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.ReflectionUtils.GetStaticProperty(System.String,System.String)">
            <summary>
            Retrieves a value from  a static property by specifying a type full name and property
            </summary>
            <param name="typeName">Full type name (namespace.class)</param>
            <param name="property">Property to get value from</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.ReflectionUtils.GetStaticProperty(System.Type,System.String)">
            <summary>
            Returns a static property from a given type
            </summary>
            <param name="type">Type instance for the static property</param>
            <param name="property">Property name as a string</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.ReflectionUtils.GetPropertyCom(System.Object,System.String)">
            <summary>
            Retrieve a dynamic 'non-typelib' property
            </summary>
            <param name="instance">Object to make the call on</param>
            <param name="property">Property to retrieve</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.ReflectionUtils.GetPropertyExCom(System.Object,System.String)">
            <summary>
            Returns a property or field value using a base object and sub members including . syntax.
            For example, you can access: oCustomer.oData.Company with (this,"oCustomer.oData.Company")
            </summary>
            <param name="parent">Parent object to 'start' parsing from.</param>
            <param name="property">The property to retrieve. Example: 'oBus.oData.Company'</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.ReflectionUtils.SetPropertyCom(System.Object,System.String,System.Object)">
            <summary>
            Sets the property on an object.
            </summary>
            <param name="Object">Object to set property on</param>
            <param name="Property">Name of the property to set</param>
            <param name="Value">value to set it to</param>
        </member>
        <member name="M:Westwind.Utilities.ReflectionUtils.SetPropertyExCom(System.Object,System.String,System.Object)">
            <summary>
            Sets the value of a field or property via Reflection. This method alws 
            for using '.' syntax to specify objects multiple levels down.
            
            ReflectionUtils.SetPropertyEx(this,"Invoice.LineItemsCount",10)
            
            which would be equivalent of:
            
            Invoice.LineItemsCount = 10;
            </summary>
            <param name="Object Parent">
            Object to set the property on.
            </param>
            <param name="String Property">
            Property to set. Can be an object hierarchy with . syntax.
            </param>
            <param name="Object Value">
            Value to set the property to
            </param>
        </member>
        <member name="M:Westwind.Utilities.ReflectionUtils.CallMethodCom(System.Object,System.String,System.Object[])">
            <summary>
            Wrapper method to call a 'dynamic' (non-typelib) method
            on a COM object
            </summary>
            <param name="params"></param>
            1st - Method name, 2nd - 1st parameter, 3rd - 2nd parm etc.
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.ReflectionUtils.CallMethodExCom(System.Object,System.String,System.Object[])">
            <summary>
            Calls a method on a COM object with '.' syntax (Customer instance and Address.DoSomeThing method)
            </summary>
            <param name="parent">the object instance on which to call method</param>
            <param name="method">The method or . syntax path to the method (Address.Parse)</param>
            <param name="parms">Any number of parameters</param>
            <returns></returns>
        </member>
        <member name="T:Westwind.Utilities.SecurityUtils">
            <summary>
            A set of utilities functions related to security.
            </summary>
        </member>
        <member name="M:Westwind.Utilities.SecurityUtils.ImpersonateUser(System.String,System.String,System.String)">
            <summary>
            Logs on a user and changes the current process impersonation to that user.
            
            IMPORTANT: Returns a WindowsImpersonationContext and you have to either
            dispose this instance or call RevertImpersonation with it.
            </summary>
            <remarks>
            Requires Full Trust permissions in ASP.NET Web Applications.
            </remarks>
            <param name="username"></param>
            <param name="password"></param>
            <param name="domain"></param>
            <returns>WindowsImpersonation Context. Call RevertImpersonation() to clear the impersonation or Dispose() instance.</returns>
        </member>
        <member name="M:Westwind.Utilities.SecurityUtils.RevertImpersonation(System.Security.Principal.WindowsImpersonationContext)">
            <summary>
            Releases an impersonation context and releases associated resources
            </summary>
            <param name="context">WindowsImpersonation context created with ImpersonateUser</param>
        </member>
        <member name="M:Westwind.Utilities.SerializationUtils.SerializeObject(System.Object,System.String,System.Boolean)">
            <summary>
            Serializes an object instance to a file.
            </summary>
            <param name="instance">the object instance to serialize</param>
            <param name="fileName"></param>
            <param name="binarySerialization">determines whether XML serialization or binary serialization is used</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.SerializationUtils.SerializeObject(System.Object,System.Xml.XmlTextWriter,System.Boolean)">
            <summary>
            Overload that supports passing in an XML TextWriter. 
            </summary>
            <remarks>
            Note the Writer is not closed when serialization is complete 
            so the caller needs to handle closing.
            </remarks>
            <param name="instance">object to serialize</param>
            <param name="writer">XmlTextWriter instance to write output to</param>       
            <param name="throwExceptions">Determines whether false is returned on failure or an exception is thrown</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.SerializationUtils.SerializeObject(System.Object,System.String@)">
            <summary>
            Serializes an object into an XML string variable for easy 'manual' serialization
            </summary>
            <param name="instance">object to serialize</param>
            <param name="xmlResultString">resulting XML string passed as an out parameter</param>
            <returns>true or false</returns>
        </member>
        <member name="M:Westwind.Utilities.SerializationUtils.SerializeObject(System.Object,System.String@,System.Boolean)">
            <summary>
            Serializes an object into a string variable for easy 'manual' serialization
            </summary>
            <param name="instance"></param>
            <param name="xmlResultString">Out parm that holds resulting XML string</param>
            <param name="throwExceptions">If true causes exceptions rather than returning false</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.SerializationUtils.SerializeObject(System.Object,System.Byte[]@,System.Boolean)">
            <summary>
            Serializes an object instance to a file.
            </summary>
            <param name="instance">the object instance to serialize</param>
            <param name="Filename"></param>
            <param name="BinarySerialization">determines whether XML serialization or binary serialization is used</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.SerializationUtils.SerializeObjectToString(System.Object,System.Boolean)">
            <summary>
            Serializes an object to an XML string. Unlike the other SerializeObject overloads
            this methods *returns a string* rather than a bool result!
            </summary>
            <param name="instance"></param>
            <param name="throwExceptions">Determines if a failure throws or returns null</param>
            <returns>
            null on error otherwise the Xml String.         
            </returns>
            <remarks>
            If null is passed in null is also returned so you might want
            to check for null before calling this method.
            </remarks>
        </member>
        <member name="M:Westwind.Utilities.SerializationUtils.DeSerializeObject(System.String,System.Type,System.Boolean)">
            <summary>
            Deserializes an object from file and returns a reference.
            </summary>
            <param name="fileName">name of the file to serialize to</param>
            <param name="objectType">The Type of the object. Use typeof(yourobject class)</param>
            <param name="binarySerialization">determines whether we use Xml or Binary serialization</param>
            <returns>Instance of the deserialized object or null. Must be cast to your object type</returns>
        </member>
        <member name="M:Westwind.Utilities.SerializationUtils.DeSerializeObject(System.String,System.Type,System.Boolean,System.Boolean)">
            <summary>
            Deserializes an object from file and returns a reference.
            </summary>
            <param name="fileName">name of the file to serialize to</param>
            <param name="objectType">The Type of the object. Use typeof(yourobject class)</param>
            <param name="binarySerialization">determines whether we use Xml or Binary serialization</param>
            <param name="throwExceptions">determines whether failure will throw rather than return null on failure</param>
            <returns>Instance of the deserialized object or null. Must be cast to your object type</returns>
        </member>
        <member name="M:Westwind.Utilities.SerializationUtils.DeSerializeObject(System.Xml.XmlReader,System.Type)">
            <summary>
            Deserialize an object from an XmlReader object.
            </summary>
            <param name="reader"></param>
            <param name="objectType"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.SerializationUtils.DeSerializeObject(System.Byte[],System.Type,System.Boolean)">
            <summary>
            Deseializes a binary serialized object from  a byte array
            </summary>
            <param name="buffer"></param>
            <param name="objectType"></param>
            <param name="throwExceptions"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.SerializationUtils.ObjectToString(System.Object,System.String,Westwind.Utilities.ObjectToStringTypes)">
            <summary>
            Returns a string of all the field value pairs of a given object.
            Works only on non-statics.
            </summary>
            <param name="instanc"></param>
            <param name="separator"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.ShellUtils.GoUrl(System.String)">
            <summary>
            Uses the Shell Extensions to launch a program based on URL moniker or file name
            Basically a wrapper around ShellExecute
            </summary>
            <param name="url">Any URL Moniker that the Windows Shell understands (URL, Word Docs, PDF, Email links etc.)</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.ShellUtils.ShowString(System.String,System.String)">
            <summary>
            Displays a string in in a browser as HTML. Optionally
            provide an alternate extension to display in the appropriate
            text viewer (ie. "txt" likely shows in NotePad)
            </summary>
            <param name="text"></param>
            <param name="extension"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.ShellUtils.ShowHtml(System.String)">
            <summary>
            Shows a string as HTML
            </summary>
            <param name="htmlString"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.ShellUtils.ShowText(System.String)">
            <summary>
            Displays a large Text string as a text file in the
            systems' default text viewer (ie. NotePad)
            </summary>
            <param name="TextString"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.ShellUtils.HttpGet(System.String)">
            <summary>
            Simple method to retrieve HTTP content from the Web quickly
            </summary>
            <param name="url">Url to access</param>        
            <returns>Http response text or null</returns>
        </member>
        <member name="M:Westwind.Utilities.ShellUtils.HttpGet(System.String,System.String@)">
            <summary>
            Simple method to retrieve HTTP content from the Web quickly
            </summary>
            <param name="url">Url to access</param>
            <param name="errorMessage"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.ShellUtils.HttpGetBytes(System.String)">
            <summary>
            Retrieves a buffer of binary data from a URL using
            a plain HTTP Get.
            </summary>
            <param name="url">Url to access</param>
            <returns>Response bytes or null on error</returns>
        </member>
        <member name="M:Westwind.Utilities.ShellUtils.HttpGetBytes(System.String,System.String@)">
            <summary>
            Retrieves a buffer of binary data from a URL using
            a plain HTTP Get.
            </summary>
            <param name="url">Url to access</param>
            <param name="errorMessage">ref parm to receive an error message</param>
            <returns>response bytes or null on error</returns>
        </member>
        <member name="T:Westwind.Utilities.StringUtils">
            <summary>
            String utility class that provides a host of string related operations
            </summary>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.ExtractString(System.String,System.String,System.String,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Extracts a string from between a pair of delimiters. Only the first 
            instance is found.
            </summary>
            <param name="source">Input String to work on</param>
            <param name="StartDelim">Beginning delimiter</param>
            <param name="endDelim">ending delimiter</param>
            <param name="CaseInsensitive">Determines whether the search for delimiters is case sensitive</param>
            <returns>Extracted string or ""</returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.ReplaceStringInstance(System.String,System.String,System.String,System.Int32,System.Boolean)">
            <summary>
            String replace function that support
            </summary>
            <param name="origString">Original input string</param>
            <param name="findString">The string that is to be replaced</param>
            <param name="replaceWith">The replacement string</param>
            <param name="instance">Instance of the FindString that is to be found. if Instance = -1 all are replaced</param>
            <param name="caseInsensitive">Case insensitivity flag</param>
            <returns>updated string or original string if no matches</returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.ReplaceString(System.String,System.String,System.String,System.Boolean)">
            <summary>
            Replaces a substring within a string with another substring with optional case sensitivity turned off.
            </summary>
            <param name="origString">String to do replacements on</param>
            <param name="findString">The string to find</param>
            <param name="replaceString">The string to replace found string wiht</param>
            <param name="caseInsensitive">If true case insensitive search is performed</param>
            <returns>updated string or original string if no matches</returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.TrimStart(System.String,System.String,System.Boolean)">
            <summary>
            Trims a sub string from a string
            </summary>
            <param name="text"></param>
            <param name="textToTrim"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.Replicate(System.String,System.Int32)">
            <summary>
            Replicates an input string n number of times
            </summary>
            <param name="input"></param>
            <param name="charCount"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.Replicate(System.Char,System.Int32)">
            <summary>
            Replicates a character n number of times and returns a string
            </summary>
            <param name="charCount"></param>
            <param name="character"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.Inlist(System.String,System.String[])">
            <summary>
            Determines if a string is contained in a list of other strings
            </summary>
            <param name="s"></param>
            <param name="list"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.GetLines(System.String)">
            <summary>
            Parses a string into an array of lines broken
            by \r\n or \n
            </summary>
            <param name="s">String to check for lines</param>
            <returns>array of strings, or null if the string passed was a null</returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.CountLines(System.String)">
            <summary>
            Returns a line count for a string
            </summary>
            <param name="s">string to count lines for</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.ProperCase(System.String)">
            <summary>
            Return a string in proper Case format
            </summary>
            <param name="Input"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.ToCamelCase(System.String)">
            <summary>
            Takes a phrase and turns it into CamelCase text.
            White Space, punctuation and separators are stripped
            </summary>
            <param name="phrase">Text to convert to CamelCase</param>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.FromCamelCase(System.String)">
            <summary>
            Tries to create a phrase string from CamelCase text.
            Will place spaces before capitalized letters.
            
            Note that this method may not work for round tripping 
            ToCamelCase calls, since ToCamelCase strips more characters
            than just spaces.
            </summary>
            <param name="camelCase"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.TerminateString(System.String,System.String)">
            <summary>
            Terminates a string with the given end string/character, but only if the
            value specified doesn't already exist and the string is not empty.
            </summary>
            <param name="?"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.TrimTo(System.String,System.Int32)">
            <summary>
            Trims a string to a specific number of max characters
            </summary>
            <param name="value"></param>
            <param name="charCount"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.NormalizeIndentation(System.String)">
            <summary>
            Strips any common white space from all lines of text that have the same
            common white space text. Effectively removes common code indentation from
            code blocks for example so you can get a left aligned code snippet.
            </summary>
            <param name="code"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.StringToBytes(System.String,System.Text.Encoding)">
            <summary>
            Converts a string into bytes for storage in any byte[] types
            buffer or stream format (like MemoryStream).
            </summary>
            <param name="text"></param>
            <param name="encoding">The character encoding to use. Defaults to Unicode</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.BytesToString(System.Byte[],System.Text.Encoding)">
            <summary>
            Converts a byte array to a stringUtils
            </summary>
            <param name="buffer">raw string byte data</param>
            <param name="encoding">Character encoding to use. Defaults to Unicode</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.TextAbstract(System.String,System.Int32)">
            <summary>
            Returns an abstract of the provided text by returning up to Length characters
            of a text string. If the text is truncated a ... is appended.
            </summary>
            <param name="text">Text to abstract</param>
            <param name="length">Number of characters to abstract to</param>
            <returns>string</returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.LogString(System.String,System.String)">
            <summary>
            Simple Logging method that allows quickly writing a string to a file
            </summary>
            <param name="output"></param>
            <param name="filename"></param>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.NewStringId">
            <summary>
            Creates short string id based on a GUID hashcode.
            Not guaranteed to be unique across machines, but unlikely
            to duplicate in medium volume situations.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.RandomString(System.Int32,System.Boolean)">
            <summary>
            Creates a new random string of upper, lower case letters and digits.
            Very useful for generating random data for storage in test data.
            </summary>
            <param name="size">The number of characters of the string to generate</param>
            <returns>randomized string</returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.ParseInt(System.String,System.Int32,System.IFormatProvider)">
            <summary>
            Parses an string into an integer. If the value can't be parsed
            a default value is returned instead
            </summary>
            <param name="input">Input numeric string to be parsed</param>
            <param name="defaultValue">Optional default value if parsing fails</param>
            <param name="formatProvider">Optional NumberFormat provider. Defaults to current culture's number format</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.ParseDecimal(System.String,System.Decimal,System.IFormatProvider)">
            <summary>
            Parses an string into an decimal. If the value can't be parsed
            a default value is returned instead
            </summary>
            <param name="input"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.StripNonNumber(System.String)">
            <summary>
            Strips all non digit values from a string and only
            returns the numeric string.
            </summary>
            <param name="input"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.StringToStream(System.String,System.Text.Encoding)">
            <summary>
            Creates a Stream from a string. Internally creates
            a memory stream and returns that.
            </summary>
            <param name="text"></param>
            <param name="encoding"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.BinHexToString(System.String)">
            <summary>
            Turns a BinHex string that contains raw byte values
            into a byte array
            </summary>
            <param name="hex">BinHex string (just two byte hex digits strung together)</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.BinaryToBinHex(System.Byte[])">
            <summary>
            Converts a byte array into a BinHex string
            </summary>
            <param name="data">Raw data to send</param>
            <returns>string or null if input is null</returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.GetProperty(System.String,System.String)">
            <summary>
            Retrieves a value from an XML-like string
            </summary>
            <param name="propertyString"></param>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.SetProperty(System.String,System.String,System.String)">
            <summary>
            
            </summary>
            <param name="propertyString"></param>
            <param name="key"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.UrlEncode(System.String)">
            <summary>
            UrlEncodes a string without the requirement for System.Web
            </summary>
            <param name="String"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.UrlEncodePathSafe(System.String)">
            <summary>
            Encodes a few additional characters for use in paths
            Encodes: . #
            </summary>
            <param name="text"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.UrlDecode(System.String)">
            <summary>
            UrlDecodes a string without requiring System.Web
            </summary>
            <param name="text">String to decode.</param>
            <returns>decoded string</returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.GetUrlEncodedKey(System.String,System.String)">
            <summary>
            Retrieves a value by key from a UrlEncoded string.
            </summary>
            <param name="urlEncoded">UrlEncoded String</param>
            <param name="key">Key to retrieve value for</param>
            <returns>returns the value or "" if the key is not found or the value is blank</returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.SetUrlEncodedKey(System.String,System.String,System.String)">
            <summary>
            Allows setting of a value in a UrlEncoded string. If the key doesn't exist
            a new one is set, if it exists it's replaced with the new value.
            </summary>
            <param name="urlEncoded">A UrlEncoded string of key value pairs</param>
            <param name="key"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.Base36Encode(System.Int64)">
            <summary>
            Encodes an integer into a string by mapping to alpha and digits (36 chars)
            chars are embedded as lower case
            
            Example: 4zx12ss
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.Base36Decode(System.String)">
            <summary>
            Decodes a base36 encoded string to an integer
            </summary>
            <param name="input"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.StringUtils.Empty(System.String)">
            <summary>
            Determines whether a string is empty (null or zero length)
            </summary>
            <param name="text">Input string</param>
            <returns>true or false</returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Westwind.Utilities.StringUtils.Empty(System.Object)" -->
        <member name="M:Westwind.Utilities.SystemUtils.GetSystemPassword(System.Boolean)">
            <summary>
            Returns the logon password stored in the registry if Auto-Logon is used.
            This function is used privately for demos when I need to specify a login username and password.
            </summary>
            <param name="getUserName"></param>
            <returns></returns>
        </member>
        <member name="T:Westwind.Utilities.TimeUtils">
            <summary>
            Time Utilities class provides date and time related routines.
            </summary>
        </member>
        <member name="M:Westwind.Utilities.TimeUtils.FriendlyDateString(System.DateTime,System.Boolean)">
            <summary>
            Displays a date in friendly format.
            </summary>
            <param name="Date"></param>
            <param name="ShowTime"></param>
            <returns>Today,Yesterday,Day of week or a string day (Jul 15, 2008)</returns>
        </member>
        <member name="M:Westwind.Utilities.TimeUtils.ShortDateString(System.DateTime,System.Boolean)">
            <summary>
            Returns a short date time string 
            </summary>
            <param name="date"></param>
            <param name="showTime"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.TimeUtils.ShortDateString(System.Nullable{System.DateTime},System.Boolean)">
            <summary>
            Returns a short date time string 
            </summary>
            <param name="date"></param>
            <param name="ShowTime"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.TimeUtils.FriendlyElapsedTimeString(System.Int32)">
            <summary>
            Displays a number of milliseconds as friendly seconds, hours, minutes 
            Pass -1 to get a blank date.
            </summary>
            <param name="milliSeconds">the elapsed milliseconds to display time for</param>           
            <returns>string in format of just now or 1m ago, 2h ago</returns>
        </member>
        <member name="M:Westwind.Utilities.TimeUtils.FriendlyElapsedTimeString(System.TimeSpan)">
            <summary>
            Displays the elapsed time  friendly seconds, hours, minutes 
            </summary>
            <param name="elapsed">Timespan of elapsed time</param>
            <returns>string in format of just now or 1m ago, 2h ago</returns>
        </member>
        <member name="M:Westwind.Utilities.TimeUtils.FractionalHoursToString(System.Decimal,System.String)">
            <summary>
            Converts a fractional hour value like 1.25 to 1:15  hours:minutes format
            </summary>
            <param name="hours">Decimal hour value</param>
            <param name="format">An optional format string where {0} is hours and {1} is minutes (ie: "{0}h:{1}m").</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.TimeUtils.FractionalHoursToString(System.Decimal)">
            <summary>
            Converts a fractional hour value like 1.25 to 1:15  hours:minutes format
            </summary>
            <param name="hours">Decimal hour value</param>
        </member>
        <member name="M:Westwind.Utilities.TimeUtils.RoundDateToMinuteInterval(System.Decimal,System.Int32,Westwind.Utilities.RoundingDirection)">
            <summary>
            Rounds an hours value to a minute interval
            0 means no rounding
            </summary>
            <param name="minuteInterval">Minutes to round up or down to</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.TimeUtils.RoundDateToMinuteInterval(System.DateTime,System.Int32,Westwind.Utilities.RoundingDirection)">
            <summary>
            Rounds a date value to a given minute interval
            </summary>
            <param name="time">Original time value</param>
            <param name="minuteInterval">Number of minutes to round up or down to</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.TimeUtils.DateTimeFromDateAndTime(System.String,System.String)">
            <summary>
            Creates a DateTime value from date and time input values
            </summary>
            <param name="Date"></param>
            <param name="Time"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.TimeUtils.DateTimeFromDateAndTime(System.DateTime,System.String)">
            <summary>
            Creates a DateTime Value from a DateTime date and a string time value.
            </summary>
            <param name="Date"></param>
            <param name="Time"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.TimeUtils.MimeDateTime(System.DateTime)">
            <summary>
            Converts the passed date time value to Mime formatted time string
            </summary>
            <param name="Time"></param>
        </member>
        <member name="M:Westwind.Utilities.TimeUtils.Truncate(System.DateTime,Westwind.Utilities.DateTimeResolution)">
            <summary>
            Truncates a DateTime value to the nearest partial value.
            </summary>
            <remarks>
            From: http://stackoverflow.com/questions/1004698/how-to-truncate-milliseconds-off-of-a-net-datetime        
            </remarks>
            <param name="date"></param>
            <param name="resolution"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.TimeUtils.UtcToTimezoneTime(System.DateTime,System.String)">
            <summary>
            Converts a UtcTime to a local time based on a specific timezone
            </summary>
            <param name="dateTime"></param>
            <param name="timeZoneId"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.TimeUtils.UtcToTimezoneTime(System.DateTime,System.TimeZoneInfo)">
            <summary>
            Converts a UtcTime to a local time based on a specific timezone
            </summary>
            <param name="dateTime"></param>
            <param name="timeZoneId"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.TimeUtils.ToTimeZoneTime(System.DateTime,System.String)">
            <summary>
            Returns TimeZone adjusted time for a given from a Utc or local time.
            Date is first converted to UTC then adjusted.
            </summary>
            <param name="time"></param>
            <param name="timeZoneId"></param>
            <returns></returns>
        </member>
        <member name="T:Westwind.Utilities.RoundingDirection">
            <summary>
            Determines how date time values are rounded
            </summary>
        </member>
        <member name="T:Westwind.Utilities.XmlUtils">
            <summary>
            String utility class that provides a host of string related operations
            </summary>
        </member>
        <member name="M:Westwind.Utilities.XmlUtils.GetXmlString(System.Xml.XmlNode,System.String,System.Xml.XmlNamespaceManager)">
            <summary>
            Retrieves a result string from an XPATH query. Null if not found.
            </summary>
            <param name="node"></param>
            <param name="XPath"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.XmlUtils.GetXmlInt(System.Xml.XmlNode,System.String,System.Xml.XmlNamespaceManager)">
            <summary>
            Retrieves a result int value from an XPATH query. 0 if not found.
            </summary>
            <param name="node"></param>
            <param name="XPath"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.XmlUtils.GetXmlBool(System.Xml.XmlNode,System.String,System.Xml.XmlNamespaceManager)">
            <summary>
            Retrieves a result bool from an XPATH query. false if not found.
            </summary>
            <param name="node"></param>
            <param name="XPath"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.XmlUtils.GetXmlDateTime(System.Xml.XmlNode,System.String,System.Xml.XmlNamespaceManager)">
            <summary>
            Retrieves a result DateTime from an XPATH query. 1/1/1900  if not found.
            </summary>
            <param name="node"></param>
            <param name="XPath"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.XmlUtils.GetXmlAttributeString(System.Xml.XmlNode,System.String)">
            <summary>
            Gets an attribute by name
            </summary>
            <param name="node"></param>
            <param name="attributeName"></param>
            <returns>value or null if not available</returns>
        </member>
        <member name="M:Westwind.Utilities.XmlUtils.GetXmlAttributeInt(System.Xml.XmlNode,System.String,System.Int32)">
            <summary>
            Returns an integer value from an attribute
            </summary>
            <param name="node"></param>
            <param name="attributeName"></param>
            <param name="defaultValue"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.XmlUtils.MapTypeToXmlType(System.Type)">
            <summary>
            Converts a .NET type into an XML compatible type - roughly
            </summary>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.XmlUtils.CreateXmlNamespaceManager(System.Xml.XmlDocument,System.String)">
            <summary>
            Creates an Xml NamespaceManager for an XML document by looking
            at all of the namespaces defined on the document root element.
            </summary>
            <param name="doc">The XmlDom instance to attach the namespacemanager to</param>
            <param name="defaultNamespace">The prefix to use for prefix-less nodes (which are not supported if any namespaces are used in XmlDoc).</param>
            <returns></returns>
        </member>
        <member name="T:Westwind.Utilities.InternetTools.HttpClient">
             <summary>
             An HTTP wrapper class that abstracts away the common needs for adding post keys
             and firing update events as data is received. This class is real easy to use
             with many common operations requiring single method calls.
            
             The class also provides automated cookie and state handling, GZip compression
             decompression, simplified proxy and authentication mechanisms to provide a 
             simple single level class interface. The underlying WebRequest is also 
             exposed so you will not loose any functionality from the .NET BCL class.
             </summary>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.HttpClient.#ctor">
            <summary>
            The HttpClient Default Constructor
            </summary>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.HttpClient.CreateWebRequestObject(System.String)">
            <summary>
            Creates a new WebRequest instance that can be set prior to calling the 
            various Get methods. You can then manipulate the WebRequest property, to 
            custom configure the request.
            
            Instead of passing a URL you  can then pass null.
            
            Note - You need a new Web Request for each and every request so you need to
             set this object for every call if you manually customize it.
            </summary>
            <param name="String Url">
            The Url to access with this WebRequest
            </param>
            <returns>Boolean</returns>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.HttpClient.ResetPostData">
            <summary>
            Resets the Post buffer by clearing out all existing content
            </summary>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.HttpClient.AddPostKey(System.String,System.Byte[])">
            <summary>
            Adds POST form variables to the request buffer.
            PostMode determines how parms are handled.
            </summary>
            <param name="key">Key value or raw buffer depending on post type</param>
            <param name="value">Value to store. Used only in key/value pair modes</param>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.HttpClient.AddPostKey(System.String,System.String)">
            <summary>
            Adds POST form variables to the request buffer.
            PostMode determines how parms are handled.
            </summary>
            <param name="key">Key value or raw buffer depending on post type</param>
            <param name="value">Value to store. Used only in key/value pair modes</param>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.HttpClient.AddPostKey(System.String)">
            <summary>
            Adds a fully self contained POST buffer to the request.
            Works for XML or previously encoded content.
            </summary>
            <param name="fullPostBuffer">String based full POST buffer</param>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.HttpClient.AddPostKey(System.Byte[])">
            <summary>
            Adds a fully self contained POST buffer to the request.
            Works for XML or previously encoded content.
            </summary>	    
            <param name="fullPostBuffer">Byte array of a full POST buffer</param>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.HttpClient.AddPostFile(System.String,System.String)">
            <summary>
            Allows posting a file to the Web Server. Make sure that you 
            set PostMode
            </summary>
            <param name="key"></param>
            <param name="fileName"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.HttpClient.GetUrlStream(System.String)">
            <summary>
            Return a the result from an HTTP Url into a StreamReader.
            Client code should call Close() on the returned object when done reading.
            </summary>
            <param name="url">Url to retrieve.</param>		
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.HttpClient.DownloadStream(System.String)">
            <summary>
            Return a the result from an HTTP Url into a StreamReader.
            Client code should call Close() on the returned object when done reading.
            </summary>
            <param name="url">Url to retrieve.</param>		
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.HttpClient.GetUrlResponse(System.String)">
            <summary>
            Return an HttpWebResponse object for a request. You can use the Response to
            read the result as needed. This is a low level method. Most of the other 'Get'
            methods call this method and process the results further.
            </summary>
            <remarks>Important: The Response object's Close() method must be called when you are done with the object.</remarks>
            <param name="url">Url to retrieve.</param>
            <returns>An HttpWebResponse Object</returns>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.HttpClient.DownloadResponse(System.String)">
            <summary>
            Return an HttpWebResponse object for a request. You can use the Response to
            read the result as needed. This is a low level method. Most of the other 'Get'
            methods call this method and process the results further.
            </summary>
            <remarks>Important: The Response object's Close() method must be called when you are done with the object.</remarks>
            <param name="url">Url to retrieve.</param>
            <returns>An HttpWebResponse Object</returns>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.HttpClient.StreamPostBuffer(System.IO.Stream)">
            <summary>
            Sends the Postbuffer to the server
            </summary>
            <param name="PostData"></param>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.HttpClient.GetUrl(System.String,System.Int64,System.Text.Encoding)">
            <summary>
            Returns the content of a URL as a string
            </summary>
            <param name="url"></param>
            <param name="bufferSize">The intermediate download buffer used</param>
            <param name="encoding">A .NET Encoding scheme or null to attempt sniffing from Charset.</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.HttpClient.DownloadString(System.String,System.Int64,System.Text.Encoding)">
            <summary>
            Returns the content of a URL as a string using a specified Encoding
            </summary>
            <param name="url"></param>
            <param name="bufferSize">Internal download buffer size used to hold data chunks.</param>
            <param name="encoding">A .NET Encoding scheme or null to attempt sniffing from Charset.</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.HttpClient.GetUrlPartial(System.String,System.Int32)">
            <summary>
            Returns a partial response from the URL by specifying only 
            given number of bytes to retrieve. This can reduce network
            traffic and keep string formatting down if you are only 
            interested a small port at the top of the page. Also 
            returns full headers.
            </summary>
            <param name="url"></param>
            <param name="size"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.HttpClient.DownloadStringPartial(System.String,System.Int32)">
            <summary>
            Returns a partial response from the URL by specifying only 
            given number of bytes to retrieve. This can reduce network
            traffic and keep string formatting down if you are only 
            interested a small port at the top of the page. Also 
            returns full headers.
            </summary>
            <param name="url"></param>
            <param name="size"></param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.HttpClient.DownloadBytes(System.String,System.Int64)">
            <summary>
            Retrieves URL into an Byte Array.
            </summary>
            <remarks>Fires the ReceiveData Event</remarks>
            <param name="url">Url to read</param>
            <param name="bufferSize">Size of the buffer for each read. 0 = 8192</param>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.HttpClient.GetUrlFile(System.String,System.Int64,System.String)">
            <summary>
            Writes the output from the URL request to a file firing events.
            </summary>
            <param name="Url">Url to fire</param>
            <param name="BufferSize">Buffersize - how often to fire events</param>
            <param name="OutputFile">File to write response to</param>
            <returns>true or false</returns>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.HttpClient.DownloadFile(System.String,System.Int64,System.String)">
            <summary>
            Writes the output from the URL request to a file firing events.
            </summary>
            <param name="url">Url to fire</param>
            <param name="bufferSize">Buffersize - how often to fire events</param>
            <param name="outputFile">File to write response to</param>
            <returns>true or false</returns>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.HttpClient.CheckCertificateCallback(System.Object,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors)">
            <summary>
            Handles the Certificate check
            </summary>
            <param name="sender"></param>
            <param name="cert"></param>
            <param name="chain"></param>
            <param name="errors"></param>
            <returns></returns>
        </member>
        <member name="P:Westwind.Utilities.InternetTools.HttpClient.PostMode">
            <summary>
            Determines how data is POSTed when when using AddPostKey() and other methods
            of posting data to the server. Support UrlEncoded, Multi-Part, XML and Raw modes.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.InternetTools.HttpClient.Username">
            <summary>
             User name used for Authentication. 
             To use the currently logged in user when accessing an NTLM resource you can use "AUTOLOGIN".
            </summary>
        </member>
        <member name="P:Westwind.Utilities.InternetTools.HttpClient.Password">
            <summary>
            Password for Authentication.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.InternetTools.HttpClient.ProxyAddress">
            <summary>
            Address of the Proxy Server to be used.
            Use optional DEFAULTPROXY value to specify that you want to IE's Proxy Settings
            </summary>
        </member>
        <member name="P:Westwind.Utilities.InternetTools.HttpClient.ProxyBypass">
            <summary>
            Semicolon separated Address list of the servers the proxy is not used for.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.InternetTools.HttpClient.ProxyUsername">
            <summary>
            Username for a password validating Proxy. Only used if the proxy info is set.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.InternetTools.HttpClient.ProxyPassword">
            <summary>
            Password for a password validating Proxy. Only used if the proxy info is set.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.InternetTools.HttpClient.Timeout">
            <summary>
            Timeout for the Web request in seconds. Times out on connection, read and send operations.
            Default is 30 seconds.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.InternetTools.HttpClient.Cancelled">
            <summary>
            Returns whether the last request was cancelled through one of the
            events.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.InternetTools.HttpClient.ContentType">
            <summary>
            Use this option to set a custom content type. 
            If possible use PostMode to specify a predefined
            content type as it will ensure that Post data is
            appropriately formatted.
            
            If setting the content type manually POST data
            </summary>
        </member>
        <member name="P:Westwind.Utilities.InternetTools.HttpClient.UseGZip">
            <summary>
            Determines whether requests attempt to use GZip when retrieving content
            from the server.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.InternetTools.HttpClient.ErrorMessage">
            <summary>
            Error Message if the Error Flag is set or an error value is returned from a method.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.InternetTools.HttpClient.Error">
            <summary>
            Error flag if an error occurred.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.InternetTools.HttpClient.ThrowExceptions">
            <summary>
            Determines whether errors cause exceptions to be thrown. By default errors 
            are handled in the class and the Error property is set for error conditions.
            (not implemented at this time).
            </summary>
        </member>
        <member name="P:Westwind.Utilities.InternetTools.HttpClient.HandleCookies">
            <summary>
            If set to true will automatically track cookies
            between multiple successive requests on this 
            instance. Uses the CookieCollection property
            to persist cookie status.
            
            When set posts values in the CookieCollection,
            and on return fills the CookieCollection with
            cookies from the Response.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.InternetTools.HttpClient.Cookies">
            <summary>
            Holds the internal Cookie collection before or after a request. This 
            collection is used only if HandleCookies is set to .t. which also causes it
             to capture cookies and repost them on the next request.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.InternetTools.HttpClient.WebResponse">
            <summary>
            WebResponse object that is accessible after the request is complete and 
            allows you to retrieve additional information about the completed request.
            
            The Response Stream is already closed after the GetUrl methods complete 
            (except GetUrlResponse()) but you can access the Response object members 
            and collections to retrieve more detailed information about the current 
            request that completed.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.InternetTools.HttpClient.WebRequest">
            <summary>
            WebRequest object that can be manipulated and set up for the request if you
             called .
            
            Note: This object must be recreated and reset for each request, since a 
            request's life time is tied to a single request. This object is not used if
             you specify a URL on any of the GetUrl methods since this causes a default
             WebRequest to be created.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.InternetTools.HttpClient.BufferSize">
            <summary>
            The buffersize used for the Send and Receive operations
            </summary>
        </member>
        <member name="P:Westwind.Utilities.InternetTools.HttpClient.UserAgent">
            <summary>
            Lets you specify the User Agent  browser string that is sent to the server.
             This allows you to simulate a specific browser if necessary.
            </summary>
        </member>
        <member name="P:Westwind.Utilities.InternetTools.HttpClient.IgnoreCertificateErrors">
            <summary>
            Sets the certificate policy.
            
            Note this is a global setting and affects the entire application.
            It's recommended you set this for the application and not on 
            a per request basis.
            </summary>
            <param name="Ignore"></param>
        </member>
        <member name="E:Westwind.Utilities.InternetTools.HttpClient.ReceiveData">
            <summary>
            Fires progress events when receiving data from the server
            </summary>
        </member>
        <member name="E:Westwind.Utilities.InternetTools.HttpClient.SendData">
            <summary>
            Fires progress events when using GetUrlEvents() to retrieve a URL.
            </summary>
        </member>
        <member name="T:Westwind.Utilities.InternetTools.HttpClient.ReceiveDataEventArgs">
            <summary>
            Event arguments passed to the ReceiveData event handler on each block of data sent
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.HttpClient.ReceiveDataEventArgs.CurrentByteCount">
            <summary>
            Size of the cumulative bytes read in this request
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.HttpClient.ReceiveDataEventArgs.TotalBytes">
            <summary>
            The number of total bytes of this request
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.HttpClient.ReceiveDataEventArgs.NumberOfReads">
            <summary>
            The number of reads that have occurred - how often has this event been called.
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.HttpClient.ReceiveDataEventArgs.CurrentChunk">
            <summary>
            The current chunk of data being read
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.HttpClient.ReceiveDataEventArgs.Done">
            <summary>
            Flag set if the request is currently done.
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.HttpClient.ReceiveDataEventArgs.Cancel">
            <summary>
            Flag to specify that you want the current request to cancel. This is a write-only flag
            </summary>
        </member>
        <member name="T:Westwind.Utilities.InternetTools.HttpPostMode">
            <summary>
            Enumeration of the various HTTP POST modes supported by HttpClient
            </summary>
        </member>
        <member name="T:Westwind.Utilities.InternetTools.AcceptAllCertificatePolicy">
            <summary>
            Internal object used to allow setting WebRequest.CertificatePolicy to 
            not fail on Cert errors
            </summary>
        </member>
        <member name="T:Westwind.Utilities.InternetTools.SmtpClientCustom">
            <summary>
            A free standing SMTP implementation that doesn't rely on 
            CDONTS or COM Interop. Minimal implementation supports
            only basic functionality at this time.
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientCustom.MailServer">
            <summary>
            Mail Server to send message through. Should be a domain name 
            (mail.yourserver.net) or IP Address (211.123.123.123).
            
            You can also provide a port number as part of the string which will 
            override the ServerPort.
            <seealso>Class wwSmtp</seealso>
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientCustom.ServerPort">
            <summary>
            Port on the mail server to send through. Defaults to port 25.
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientCustom.Recipient">
            <summary>
            Email address or addresses of the Recipient. Comma delimit multiple addresses. To have formatted names use
            "Rick Strahl" &lt;rstrahl@west-wind.com&gt;
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientCustom.CC">
            <summary>
            Carbon Copy Recipients
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientCustom.BCC">
            <summary>
            Blind Copy Recipients
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientCustom.SenderEmail">
            <summary>
            Email address of the sender
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientCustom.SenderName">
            <summary>
            Display name of the sender (optional)
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientCustom.Subject">
            <summary>
            Message Subject.
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientCustom.Message">
            <summary>
            The body of the message.
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientCustom.Username">
            <summary>
            Username to connect to the mail server.
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientCustom.Password">
            <summary>
            Password to connect to the mail server.
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientCustom.ContentType">
            <summary>
            The content type of the message. text/plain default or you can set to any other type like text/html
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientCustom.CharacterEncoding">
            <summary>
            Character Encoding for the message.
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientCustom.Encoding">
            <summary>
            The character Encoding used to write the stream out to disk
            Defaults to the default Locale used on the server.
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientCustom.LogFile">
            <summary>
            An optional file name that appends logging information for the TCP/IP messaging
            to the specified file.
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientCustom.HandleExceptions">
            <summary>
            Determines whether wwSMTP passes back errors as exceptions or
            whether it sets error properties. Right now only error properties
            work reliably.
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientCustom.ErrorMessage">
            <summary>
            An Error Message if the result is negative or Error is set to true;
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientCustom.Error">
            <summary>
            Error Flag set when an error occurs.
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientCustom.Timeout">
            <summary>
            Connection timeouts for the mail server in seconds. If this timeout is exceeded waiting for a connection
            or for receiving or sending data the request is aborted and fails.
            </summary>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.SmtpClientCustom.Connect">
            <summary>
            Connects to the mail server.
            </summary>
            <returns>True or False</returns>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.SmtpClientCustom.SendMail">
            <summary>
            Fully self contained mail sending method. Sends an email message by connecting 
            and disconnecting from the email server.
            </summary>
            <returns>true or false</returns>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.SmtpClientCustom.SendMailAsync">
            <summary>
            Fully self contained method that sends email by just sending
            without waiting for confirmation by starting a new thread
            </summary>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.SmtpClientCustom.SendMessage">
            <summary>
            Low level SendMessage method. Requires that Connect() be called first to open
            a connection. You can call this method multiple times without reconnecting to
            send multiple messages.
            </summary>
            <returns>True or False</returns>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.SmtpClientCustom.SendRecipients(System.String)">
            <summary>
            Sends all recipients from a comma or semicolon separated list.
            </summary> 
            <param name="lcRecipients"></param>
            <returns></returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Westwind.Utilities.InternetTools.SmtpClientCustom.GetEmailFromFullAddress(System.String)" -->
        <member name="M:Westwind.Utilities.InternetTools.SmtpClientCustom.Close">
            <summary>
            Close SMTP Connection and sends QUIT command. Use after calls to SendMessage()
            </summary>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.SmtpClientCustom.CloseConnection">
            <summary>
            Closes the mail server connection. Unlike Close() this method only resets
            the connection objects, but doesn't send any Session exit comands.
            </summary>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.SmtpClientCustom.Send(System.String)">
            the following are worker methods for the TCP/IP handling and parsing of incoming content
            Note: This should eventually be extracted into a separate class.
            
        </member>
        <member name="M:Westwind.Utilities.InternetTools.SmtpClientCustom.LogString(System.String)">
            <summary>
            Logs a message to the specified LogFile
            </summary>
            <param name="FormatString"></param>
            <param name="?"></param>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.SmtpClientCustom.SetError(System.String)">
            <summary>
            Error setting method.
            </summary>
            <param name="errorMessage"></param>
        </member>
        <member name="E:Westwind.Utilities.InternetTools.SmtpClientCustom.SendComplete">
            <summary>
            Event fired when sending of a message or multiple messages
            is complete and the connection is to be closed. This event
            occurs only once per connection as opposed to the MessageSendComplete
            event which fires after each message is sent regardless of the
            number of SendMessage operations.
            </summary>
        </member>
        <member name="E:Westwind.Utilities.InternetTools.SmtpClientCustom.SendError">
            <summary>
            Event fired when an error occurs during processing and before
            the connection is closed down.
            </summary>
        </member>
        <member name="T:Westwind.Utilities.InternetTools.SmtpClientNative">
            <summary>
            SMTP Wrapper around System.Net.Email.SmtpClient. Provided 
            here mainly to provide compatibility with existing wwSmtp code
            and to provide a slightly more user friendly front end interface
            on a single object.
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.MailServer">
            <summary>
            Mail Server to send message through. Should be a domain name 
            (mail.yourserver.net) or IP Address (211.123.123.123).
            
            You can also provide a port number as part of the string which will 
            override the ServerPort (yourserver.net:211)
            <seealso>Class wwSmtp</seealso>
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.ServerPort">
            <summary>
            Port on the mail server to send through. Defaults to port 25.
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.UseSsl">
            <summary>
            Use Tls Security
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.Recipient">
            <summary>
            Email address or addresses of the Recipient. Comma delimit multiple addresses. To have formatted names use
            "Rick Strahl" &lt;rstrahl@west-wind.com&gt;
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.CC">
            <summary>
            Carbon Copy Recipients
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.BCC">
            <summary>
            Blind Copy Recipients
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.SenderEmail">
            <summary>
            Email address of the sender
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.SenderName">
            <summary>
            Display name of the sender (optional)
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.ReplyTo">
            <summary>
            The ReplyTo address
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.Subject">
            <summary>
            Message Subject.
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.Message">
            <summary>
            The body of the message.
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.Username">
            <summary>
            Username to connect to the mail server.
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.Password">
            <summary>
            Password to connect to the mail server.
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.Attachments">
            <summary>
            Any attachments you'd like to send
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.AttachmentList">
            <summary>
            List of attachment objects
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.ContentType">
            <summary>
            The content type of the message. text/plain default or you can set to any other type like text/html
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.CharacterEncoding">
            <summary>
            Character Encoding for the message.
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.Encoding">
            <summary>
            The character Encoding used to write the stream out to disk
            Defaults to the default Locale used on the server.
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.AlternateText">
            <summary>
            
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.AlternateTextContentType">
            <summary>
            The content type for the alternate 
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.UserAgent">
            <summary>
            The user agent for the x-mailer
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.Priority">
            <summary>
            Determines the priority of the message
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.ReturnReceipt">
            <summary>
            Determines whether a return receipt is sent
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.AlternateViews">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.LogFile">
            <summary>
            An optional file name that appends logging information for the TCP/IP messaging
            to the specified file.
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.HandleExceptions">
            <summary>
            Determines whether wwSMTP passes back errors as exceptions or
            whether it sets error properties. Right now only error properties
            work reliably.
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.ErrorMessage">
            <summary>
            An Error Message if the result is negative or Error is set to true;
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.Error">
            <summary>
            Error Flag set when an error occurs.
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.Timeout">
            <summary>
            Connection timeouts for the mail server in seconds. If this timeout is exceeded waiting for a connection
            or for receiving or sending data the request is aborted and fails.
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.Headers">
            <summary>
            SMTP headers for this email request
            </summary>
        </member>
        <member name="F:Westwind.Utilities.InternetTools.SmtpClientNative.smtp">
            <summary>
            Internal instance of SmtpClient that holds the 'connection'
            effectively.
            </summary>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.SmtpClientNative.AddHeader(System.String,System.String)">
            <summary>
            Adds an Smtp header to this email request. Headers are 
            always cleared after a message has been sent or failed.
            </summary>
            <param name="headerName"></param>
            <param name="value"></param>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.SmtpClientNative.AddHeadersFromString(System.String)">
            <summary>
            Adds headers from a CR/LF separate string that has key:value header pairs 
            defined.
            </summary>
            <param name="headers"></param>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.SmtpClientNative.LoadSmtpClient">
            <summary>
            Lets you load the actual SMTP client instance
            prior to use so you can manipulate the actual
            Smtp instance.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.SmtpClientNative.Connect">
            <summary>
            Starts a new SMTP session. Note this doesn't actually open a connection
            but just configures and sets up the SMTP session. The actual connection
            is opened only when a message is actually sent
            </summary>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.SmtpClientNative.Close">
            <summary>
            Cleans up and closes the connection
            </summary>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.SmtpClientNative.SendMail">
            <summary>
            Fully self contained mail sending method. Sends an email message by connecting 
            and disconnecting from the email server.
            </summary>
            <returns>true or false</returns>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.SmtpClientNative.SendMailAsync">
            <summary>
            Run mail sending operation on a separate thread and asynchronously
            Operation does not return any information about completion.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.SmtpClientNative.SendMessage(System.String,System.String,System.String)">
            <summary>
            Sends an individual message. Allows sending several messages
            on the same SMTP session without having to reconnect each time.
            
            This version assigns default properties assigned from the main
            mail object and allows overriding only of recipients
            
            Call after Connect() has been called and call Close() to 
            close the connection afterwards
            </summary>
            <returns></returns>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.SmtpClientNative.GetMessage">
            <summary>
            Configures the message interface
            </summary>
            <param name="msg"></param>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.SmtpClientNative.AssignMailAddresses(System.Net.Mail.MailAddressCollection,System.String)">
            <summary>
            Assigns mail addresses from a string or comma delimited string list.
            Facilitates 
            </summary> 
            <param name="recipients"></param>
            <returns></returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Westwind.Utilities.InternetTools.SmtpClientNative.GetEmailFromFullAddress(System.String)" -->
        <member name="M:Westwind.Utilities.InternetTools.SmtpClientNative.AddAlternateView(System.Net.Mail.AlternateView)">
            <summary>
            Adds a new Alternate view to the request. Passed from FoxPro
            which sets up this object.
            </summary>
            <param name="text"></param>
            <param name="contentType"></param>
            <param name="contentId"></param>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.SmtpClientNative.LogString(System.String)">
            <summary>
            Logs a message to the specified LogFile
            </summary>
            <param name="FormatString"></param>
            <param name="?"></param>
        </member>
        <member name="M:Westwind.Utilities.InternetTools.SmtpClientNative.SetError(System.String)">
            <summary>
            Internally used to set errors
            </summary>
            <param name="errorMessage"></param>
        </member>
        <member name="E:Westwind.Utilities.InternetTools.SmtpClientNative.SendComplete">
            <summary>
            Event fired when sending of a message or multiple messages
            is complete and the connection is to be closed. This event
            occurs only once per connection as opposed to the MessageSendComplete
            event which fires after each message is sent regardless of the
            number of SendMessage operations.
            </summary>
        </member>
        <member name="E:Westwind.Utilities.InternetTools.SmtpClientNative.SendError">
            <summary>
            Event fired when an error occurs during processing and before
            the connection is closed down.
            </summary>
        </member>
        <member name="T:Westwind.Utilities.InternetTools.delSmtpNativeEvent">
            <summary>
            Delegate used to handle Completion and failure events
            </summary>
            <param name="Smtp"></param>
        </member>
    </members>
</doc>
